java 网络应用程序的散列 + 盐

hashing + salt for java web application

我被告知不要创建自己的盐和哈希方法。由于 java 中已经存在的那些要好得多。稍微研究了一下,我不太明白以下内容;

如何以现代方式为 java Web 应用程序生成和验证散列密码和加盐密码?

这是使用散列存储密码的常用方法。

What is the difference between creating the hash, and verifying it?

  1. 获取明文密码,添加随机盐,然后将盐和散列密码存储在数据库中。
  2. 当用户想要登录时,您获取他们提交的密码,从他们的帐户信息中添加随机盐,对其进行哈希处理,看看它是否等于存储的哈希密码及其帐户信息。

If the salt is random every time, don't you need a token to verify passwords other than the username?

如果您看到 #2,可能需要令牌用于会话目的,但不需要用于身份验证(检查用户是否合法。)

同一科目有好questions。 您可以利用与之相关的良好工作 examples