小编典典

密码加密

java

我已经以加密格式将用户密码存储在数据库中。但是,现在,当用户想要登录并尝试输入其原始密码时,该代码始终会将输入的(原始)密码与数据库中存储的加密版本进行比较,从而导致登录失败。

请告诉我如何比较输入的(原始)密码和存储在数据库中的加密密码。


阅读 210

收藏
2020-11-30

共1个答案

小编典典

几乎可以肯定,您应该对密码进行 哈希处理
,而不是使用可逆加密。您可能还需要 用盐
来做…在这种情况下,正确的步骤是:

  • 查找最初对密码进行哈希处理时所使用的盐(通常将其与哈希密码一起存储)。
  • 散列用户使用该盐输入的密码。
  • 比较两个散列-如果相等,则用户(几乎可以肯定)输入了正确的密码。

请注意,存储哈希密码的开始时间,生成 随机 盐和验证存储的哈希值,使用 存储的 盐时的区别。

2020-11-30