【问题标题】:MD5 Encryption and password comparingMD5加密和密码比较
【发布时间】:2021-04-10 23:06:50
【问题描述】:

我已经使用MD5创建了密码,那么如何将使用MD5加密的密码与密码进行比较,密码在loopback的登录部分给出??

【问题讨论】:

  • 请不要使用MD5。它在密码学上是不安全的。考虑改用 PBKDF2 或 Bcrypt。

标签: encryption hash md5 strongloop


【解决方案1】:

我假设您存储了散列密码(在您的情况下,它使用 MD5 函数进行散列,但请使用更好的散列,例如 SHA-3):

$ echo mySecurePassword | md5
6b069a261eb584b5706a4a154fa8cdb1
$ echo 'user1:6b069a261eb584b5706a4a154fa8cdb1` >> /etc/my-password-storage

现在来了一个用户,让我们检查一下她是否知道密码:

$ login: user1
password: mysecurePassword
// here your 'login' program takes whatever user provided as a password and hashes it again:
// providedPasswordHash = md5("mysecurePassword") // providedPasswordHash = "a7d16ed9ff6f2185e4e5236e4cfcd3d1" now
// Now your program checks if it is the same as in /etc/my-password-storage for 'user1'
// Aah, it is not: a7d16ed9ff6f2185e4e5236e4cfcd3d1 != 6b069a261eb584b5706a4a154fa8cdb1
// The user forgot to uppercase S in their password
// so you prompt again:
login: user1
password: mySecurePassword
// now she typed correctly: md5(providedPassword)==md5HashStored, i.e. "6b069a261eb584b5706a4a154fa8cdb1"=="6b069a261eb584b5706a4a154fa8cdb1"
// she has successfully authenticated

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 2017-10-31
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多