如何知道在 table 中使用了哪种算法来加密现有密码

How to know which algorithm has been used to encrypt existing passwords in a table

在这里我想手动添加一条记录到 Mysql users table。有一个字段叫 encrypted_password 但我不知道使用的加密算法。当我尝试手动添加记录但在我进行身份验证时它不起作用。

现有用户记录密码哈希示例:

encrypted_password: a$ibqhezRBPsy022fhMqGXBOtT749jR4QMwBULS4o1x9NMycPbftPwa

我尝试为新记录插入的查询。

INSERT INTO users(status,classification,encrypted_password,created_at,updated_at) values(1,1,MD5('test1234$'), NOW(), NOW());

我插入的记录的哈希格式:

encrypted_password: b46cfe70ccedca93ed4f06f5e5901fea

我该如何解决这个问题并以正确的哈希格式添加加密密码?

简单的,我们可以按照下面的步骤进行。

  1. 使用在线哈希分析器识别密码哈希算法。
  2. 基于该哈希算法,使用在线哈希生成器生成新的哈希。
  3. 用该散列更新 table 记录条目。
  4. 现在,使用已用于哈希生成的纯文本应该可以成功登录。