【发布时间】:2011-10-19 03:06:17
【问题描述】:
我正在使用 RijndaelManaged 对象在我的数据库中加密和存储密码。我目前将键和向量数组硬编码到对象中。显然,这不是很好,因为有人可以获得密钥并解密所有密码。保护密码的最佳方式是什么?这些密钥应该存储在哪里以获得最大的保护?
谢谢。
【问题讨论】:
标签: c# security login passwords
我正在使用 RijndaelManaged 对象在我的数据库中加密和存储密码。我目前将键和向量数组硬编码到对象中。显然,这不是很好,因为有人可以获得密钥并解密所有密码。保护密码的最佳方式是什么?这些密钥应该存储在哪里以获得最大的保护?
谢谢。
【问题讨论】:
标签: c# security login passwords
我也将 rijndael 用于加密目的。我正在做的是在运行时生成我的密钥和向量,然后将它们存储在一个单独的存根文件中。为了进行解密,我从存根文件中读取了密钥和向量。是的,钥匙仍有可能被发现,但几乎不可能完全隐藏它们。
最后,考虑使用私有分隔符与密钥和向量混合 - 这样您可以按分隔符拆分并恢复您的密钥,而外部用户甚至不知道从哪里开始。
【讨论】:
如果您可以安全地存储密钥,那么 Reijndael 会很棒。
但你不能。
一般做法是:根本不存储密码。存储 Pw 的哈希(+ 用户名 + 盐)并在用户尝试登录时重新计算。
【讨论】: