【发布时间】:2018-11-01 01:29:10
【问题描述】:
有人告诉我不要创建自己的盐和散列方法。由于Java中已经存在的那些要优越得多。稍微研究了一下,我不太明白以下内容;
- 创建哈希和验证哈希有什么区别?
- 如果盐每次都是随机的,除了用户名之外,你不需要令牌来验证密码吗?
如何以现代方式为 Java Web 应用程序生成和验证散列和加盐密码?
【问题讨论】:
-
是的,盐与散列密码一起存储。您应该考虑使用 bcrypt、scrypt、PBKDF2 或 Argon2。另见security.stackexchange.com/questions/4781/…
-
“有人告诉我创建自己的盐和散列方法”......作为学术练习,还是用于生产代码?如果是前者就好了。如果是后者,不要编写自己的加密货币。