使用RijndaelManaged对象来保护足够的密码以及存储密钥的位置

时间:2011-08-03 13:35:12

标签: c# security login passwords

我正在使用RijndaelManaged对象在我的数据库中加密和存储密码。我目前将密钥和矢量数组硬编码到对象中。显然,这并不是很好,因为有人可以获得密钥并解密所有密码。安全密码的最佳方式是什么?这些密钥应存放在何处以获得最大程度的保护?

感谢。

2 个答案:

答案 0 :(得分:3)

如果您可以安全地存放钥匙,那么Reijndael会很棒。

但你不能。

一般做法是:根本不存储密码。存储Pw的哈希值(+用户名+盐)并在用户尝试登录时重新计算。

答案 1 :(得分:0)

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

最后,考虑使用私有分隔符来混合键和向量 - 这样您就可以通过分隔符拆分并恢复密钥,而外部用户甚至不知道从哪里开始。

相关问题