gpt4 book ai didi

c# - 为 TripleDES key C# 生成随机字节

转载 作者:太空狗 更新时间:2023-10-29 18:30:06 27 4
gpt4 key购买 nike

我需要为 TripleDES 加密生成字节数组。我不想使用 .generateKey(),因为我需要知道 key 中的字节才能将它们传递给另一个应用程序。

感谢您的回复,但我忘了提一件事:字节必须是奇校验。否则我无法从它们生成 TripleDES key 。我对奇校验不太熟悉,所以我想必须创建一个字节检查它是否具有奇校验;然后如果它确实把它放在数组中,否则不。

最佳答案

如果需要保证奇校验,就得自己计算了。这应该做:

var rng = new RNGCryptoServiceProvider();
var key = new byte[24];
rng.GetBytes(key);

for(var i = 0; i < key.Length; ++i)
{
int keyByte = key[i] & 0xFE;
var parity = 0;
for (var b = keyByte; b != 0; b >>= 1) parity ^= b & 1;
key[i] = (byte)(keyByte | (parity == 0 ? 1 : 0));
}

return key;

关于c# - 为 TripleDES key C# 生成随机字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com