我们有一个与java相关的应用程序,它以加密形式在DB中存储密码,因此我们需要解密并使用它进行身份验证,并再次加密密码并存储在Db中以便新用户创建。基本上我们使用encyption /密码验证的解密标准。它最初是使用DESede算法实现的。因此,我们需要将这些ecryption标准从desede更新为一些新标准,因此任何人都建议更新DESede的标准。
我在想AES-256算法,所以任何有效的建议。
答案 0 :(得分:2)
与任何加密/安全性内容一样,很容易出错。 您应该查看现有的标准/实现。 对于“保护密码”的任务,请考虑RFC 2898 / PKCS#5 PBKDF2。 查看http://www.faqs.org/rfcs/rfc2898.html和http://www.rsa.com/rsalabs/node.asp?id=2127
您可能实际上并不想加密密码。你想裹尸布他们。一种已知的方法是应用种子和迭代散列。确保您无法获取密码您自己。否则,任何能够读取您的数据(基础)的人都可以轻松完成工作。给定使用的ID和密码以及种子,重新应用覆盖,然后比较结果。
当然,有一些方法可以将分组密码转换为单向函数,也许您的系统已经正确地执行了此操作。如果是这样,可以正常替换分组密码。