java - Java 加密标准从 DESede 更新为 AES

标签 java encryption aes

我们有一个与java相关的应用程序,它以加密形式将密码存储在数据库中,因此我们需要解密并使用它进行身份验证,并再次加密密码并存储在数据库中以创建新用户。基本上我们使用加密/密码验证的解密标准。它最初是使用 DESede 算法实现的。因此,我们需要将这些加密标准从 desede 更新为一些新标准,因此有人建议更新 DESede 标准。

我正在考虑 AES-256 算法,所以任何有效的建议。

最佳答案

与任何加密/安全问题一样,很容易出错。 您应该查看现有的标准/实现。 对于“保护密码”的任务,请考虑 RFC 2898/PKCS#5 PBKDF2。 查看http://www.faqs.org/rfcs/rfc2898.htmlhttp://www.rsa.com/rsalabs/node.asp?id=2127

您可能实际上并不想加密密码。你想掩盖它们。一种已知的方法是应用种子和迭代散列。确保您无法自己获取密码。否则,任何可以读取您的数据(库)的人都会有一份轻松的工作。给定使用过的 ID、密码和种子,您可以重新应用屏蔽,然后比较结果。

当然,有多种方法可以将分组密码转变为单向函数,也许您的系统已经正确地做到了这一点。如果是这样,简单地替换分组密码可能就可以了。

关于java - Java 加密标准从 DESede 更新为 AES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908597/

相关文章:

c# - IIS 因 Windows Azure 存储加密而随机挂起

c# - 如何提高 Bouncy CaSTLe API 的加密速度?

asp.net - 如何使用 aspnet_regiis 选择/强制执行 AES 加密来加密 web.config 值?

Java tcp端口与eclipse连接

java 多个项目 ClassNotFoundException

java - jhipster-如何添加新角色

java - 简单的密码和 I/O

c++ - 一个txt文档的简单加密解密

c - OpenSSL AES_set_encrypt_key 因编译目标而异

java - 有没有办法让@Bean 创建的一些 bean 可区分?