编码中应使用什么加密以及它如何影响密钥和初始化向量?

发布于 2024-09-08 15:25:39 字数 191 浏览 4 评论 0原文

我正在研究加密以及编码如何影响密钥和初始化向量的生成。

我正在使用 TripleDESCryptoServiceProvider ,它需要使用 ASCII 编码的 24 字节密钥和 8 字节初始化向量。如果我决定使用不同的编码,这将如何影响密钥和初始化向量的生成?

我应该使用哪种编码来代替 UTF8/16/32?

谢谢

I'm getting my head around encryption and how encoding affects generation of the keys and initialization vectors.

I'm working with a TripleDESCryptoServiceProvider which requires 24 byte key and 8 byte initialization vector using ASCII encoding. If i decide to use a different encoding , how will this affect generation of the key and the initialization vector?

Which encoding should I be using instead UTF8/16/32?

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赴月观长安 2024-09-15 15:25:39

加密参数与您选择的编码完全无关。加密参数始终以字节为单位定义。编码涉及将字符转换为字节以及将字节转换回字符。它们唯一“冲突”的地方是使用密码生成加密密钥。您应该使用专门设计用于执行此操作的类,例如 Rfc2898DeriveBytes

大多数时候我看到使用 ASCII 编码,程序员使用 UTF8 编码会得到更好的服务。 UTF8 编码对 ASCII 字符进行编码和解码的方式与 ASCII 编码完全相同,但它也正确且高效地对 Unicode 的所有其余部分进行编码。如果需要在遇到非 ASCII 字符时生成异常,请使用 ASCII 编码。

The encryption parameters are completely unrelated to your choice of encoding. Encryption parameters are always defined in terms of bytes. Encoding is concerned with translating characters to bytes and bytes back to characters. The only place they "collide" is using passwords to generate encryption keys. You should use a class designed specifically to do this, like Rfc2898DeriveBytes.

Most of the times I see ASCII encoding used the programmer would have been better served using UTF8 encoding. UTF8 encoding encodes and decodes ASCII characters exactly the same way as ASCII encoding, but it also correctly and efficiently encodes all the rest of the Unicode. Use ASCII encoding if you need to generate an Exception when a non-ASCII character is encountered.

想挽留 2024-09-15 15:25:39

我不是专家,但是 TripleDES 不再被认为足够安全。 Microsoft 建议使用 AES 256 位及更高版本。我不认为文本编码会影响加密的强度,只会影响“纯文本”密钥和 IV 的长度。

I'm no expert, but, TripleDES is no longer considered secure enough. Microsoft's recommendation is to use AES 256 bit and above. I don't think the text encoding affects the strength of the encryption, only the length of the "plain text" key and IV.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文