用于在数据库中存储密码的加密方法

Bha*_*ani 0 java database encryption passwords password-protection

可能重复:
在MySQL中使用什么函数来散列密码?
安全密码存储

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

zie*_*mer 7

切勿存储加密密码.存储一个安全的单向哈希,比如SHA-1(有一些小的安全问题),或者一个更新,更安全的变种.

这样做实际上是针对您可能受到的若干监管要求,例如PCI DSS,如果您涉及信用卡(进行任何电子商务?).

http://www.mindrot.org/projects/jBCrypt/这样的东西也可能有用.

对于Borealid的评论+1 - 即使使用散列,散列也需要正确完成,并且必须包含" salt "(额外的随机数据以防止攻击的子集).jBCrypt会为你做这个(和其他类似的库一样).

  • 请不要存储裸密码的哈希值.添加一些东西使这个特定的哈希在攻击其他站点时毫无价值,并且抵抗彩虹表攻击. (5认同)