c# - 在 .NET 4.0 中使用 ASCIIEncoding 传递给编码的 key 长度是否有任何限制?

标签 c# .net .net-4.0

我正在使用 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/

相关文章:

C#/Mono 在后台运行服务器

c# - 如何从 RichTextBox 获取 RTF

.net - apple finder webdav 客户端放置没有内容的文件

visual-studio - XmlDataDocument已过时,是否有替换的想法?

c# - 使用正则表达式进行部分搜索?

c# - 将自定义类的集合添加到 Settings.Settings

c# - 创建系统类型的自定义方法

c# - Range 类的 FindNext 方法失败(C#、Excel)

c# - 在 ASP.NET Core MVC AddControllers 配置期间注册服务

c# - 网络服务响应时间增加了……怎么办?