用户提供的密钥在aes加密c#
本文关键字:aes 加密 密钥 用户 | 更新日期: 2023-09-27 18:01:58
AES256使用256位密钥,这正好是32字节的数据,在ASCII字符方面它的32个字符。它主要是系统生成的密钥。我正在开发一个项目,在c#中使用AES类加密纯文本文件。在这个项目中,有一个窗口表单要求用户提供密钥。是否有一种方法可以使用用户提供的密钥加密纯文本?
您不应该向用户询问键。您应该向用户询问密码短语,然后使用一种行业标准密钥派生算法从密码短语生成密钥,如PBKDF2. net在Rfc2898DeriveBytes
类中提供了对此的支持。有关如何使用它,请参阅链接中的示例。此外,请确保生成一个良好的初始化向量,并将其添加到加密文件中。
永远不要将系统生成的密钥与用户提供的密码短语混合使用。如果生成密钥,那么必须有一个密钥交换协议。TLS。
请花一些时间来记录自己的基本加密。这本手册是一本很好的入门读物(而且是免费的)。不要再发布另一个破碎的加密产品…