【发布时间】:2021-12-06 02:25:48
【问题描述】:
在这里,我想手动将记录添加到 Mysql users 表中。有一个名为encrypted_password 的字段,但我不知道已使用的加密算法。当我尝试手动添加记录但在我进行身份验证时它不起作用。
现有用户记录密码哈希示例:
encrypted_password: $2a$12$ibqhezRBPsy022fhMqGXBOtT749jR4QMwBULS4o1x9NMycPbftPwa
我尝试为新记录插入的查询。
INSERT INTO users(status,classification,encrypted_password,created_at,updated_at) values(1,1,MD5('test1234$'), NOW(), NOW());
我插入的记录的哈希格式:
encrypted_password: b46cfe70ccedca93ed4f06f5e5901fea
我该如何解决这个问题并以正确的哈希格式添加加密密码?
【问题讨论】:
-
这是 bcrypt 加密。加密方法和盐已经在密码中:
$2a$,费用为12。 en.wikipedia.org/wiki/Bcrypt -
在后端加密密码,而不是在数据库中。这回答了你的问题了吗? How to use `bcrypt` algorithm within `encrypt` function in MySQL for verifying password?
-
这不是password-encryption,也不应该是。它是密码散列。有关详细信息,请参阅标签说明。
标签: mysql hash password-encryption