正在使用RijndaelManaged对象来保护密码和存储密钥的位置

本文关键字:密码 存储 密钥 位置 保护 RijndaelManaged 对象 | 更新日期: 2023-09-27 18:04:35

我使用RijndaelManaged对象在数据库中加密和存储密码。我目前有键和矢量数组硬编码到对象。显然,这不是很好,因为有人可以获得密钥并解密所有密码。保护密码的最佳方法是什么?这些密钥应该存储在哪里以获得最大的保护?

谢谢。

正在使用RijndaelManaged对象来保护密码和存储密钥的位置

如果您可以安全地存储密钥,那么Reijndael将是伟大的。

但是你不能。

一般做法是:根本不存储密码。存储Pw (+ username + salt)的散列,并在用户尝试登录时重新计算。

我也使用rijndael进行加密。我所做的是在运行时生成密钥和矢量,然后将它们存储在单独的存根文件中。为了进行解密,我从存根文件中读取了密钥和向量。是的,钥匙仍然有可能被发现,但要完全隐藏它们几乎是不可能的。

最后,考虑使用私有分隔符将键和向量混合在一起——这样就可以按分隔符分割并恢复键,而外部用户甚至不知道从哪里开始。