java - 数据库中存储密码的加密方法

标签 java database encryption passwords password-protection

Possible Duplicate:
What function to use to hash passwords in MySQL?
Secure password storage

密码加密后将密码存储到数据库的最佳机制是什么?那么加密的方法和Java实现是怎样的呢?

最佳答案

从不存储加密密码。而是存储一个安全的单向哈希值,例如 SHA-1 (有一些小的安全问题),或更新、更安全的变体之一。

这样做实际上违反了您可能需要遵守的多项监管要求,例如,如果您涉及信用卡(从事任何电子商务?),则需要遵守 PCI DSS。

类似于 http://www.mindrot.org/projects/jBCrypt/也可能被证明是有用的。

+1 Borealid 的评论 - 即使使用散列,散列也需要正确完成,并且必须包含“salt ”(用于防止攻击子集的附加随机数据)。 jBCrypt 将为您执行此操作(其他类似的库也是如此)。

关于java - 数据库中存储密码的加密方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959878/

相关文章:

database - 如何使用SSIS归档相关数据(在不同的表中)

Mysql加入表间共享数据

php - 加密 session 变量有什么安全好处吗?

java - 索尼爱立信JP-7 j2me调试

java - 创建一个检查属性窗口,按钮作为 JDialog 驱动

javascript - Blob 图像从数据库到 Java 以及从 Java 到 Javascript 图像

java - 从java中的图像中读取加密字节

java - 如何在 Tomcat 中添加本地库?

php - 使用 MySQL 数据库字段枚举值填充 PHP 组合框

flutter - 即使使用异步,在 Flutter 中进行繁重的计算操作时 UI 也会滞后