我正在使用 C# 4.0 Windows 应用程序。我想使用 System.Text.ASCIIEncoding 提供加密 key 来保护我的文件。所以,这里我的加密 key 是 SARAVANAN, key 长度是 9。
String enKey="SARAVANAN";
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key = ASCIIEncoding.ASCII.GetBytes(enKey);
它引发了异常,如“指定的 key 不是该算法的有效大小”。但它仅在长度为 8 时工作良好。所以,我想知道由于这个 ASCII 码,这个长度是否有任何限制正在编码...
请指导我摆脱这个问题?
最佳答案
64 位是 DES 加密算法唯一有效的 key 大小。
ASCII 编码使用每个字符 8 位,因此 8 个 ASCII 字符 == 64 位。
关于c# - 在 .NET 4.0 中使用 ASCIIEncoding 传递给编码的 key 长度是否有任何限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471449/