以下代码在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个字符)来更改密钥,则会出现错误。
指定的密钥对于此算法无效。
我想知道为什么会发生这种情况?