C#.Net中的3DES密钥大小问题
|
下面的代码在c#.NET中工作正常
byte[] key = Encoding.ASCII.GetByte(\"012345678901234567890123\"); //24characters
byte[] plainText = Encoding.ASCII.GetBytes(\"lasaa\");
TripleDES des = TripleDES.Create();
des.Key = key;
des.Mode = CipherMode.CBC;
ICryptoTransform ic = des.CreateEncryptor();
byte[] enc = ic.TransformFinalBlock(plainText, 0, plainText.Length);
MessageBox.Show(UTF8Encoding.UTF8.GetString(enc));
我关于以上的问题是...
如何指定KeySize?如果我使用des.KeySize=
128
或192
或256
指定的密钥对此算法无效
如果我通过添加更多字符(例如40个字符)来更改键中的字符长度。它给出了错误
指定的密钥对此算法无效
我想知道为什么会这样吗?
没有找到相关结果
已邀请:
4 个回复
氮顺
属性时,
类将为您提供一个24字节的密钥,因此会将itself7ѭ属性设置为192。 (3DES加密的输出是二进制的,而不是字符串的UTF-8编码。很可能最后的
会提出抗议。)
篮肥炼皖
雇砰
才改隘瘁