首页 > 解决方案 > 如何知道已使用哪种算法加密表中的现有密码

问题描述

在这里,我想users手动将记录添加到 Mysql 表中。有一个字段叫做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

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

标签: mysqlhashpassword-encryption

解决方案


简单地说,我们可以按照以下步骤操作。

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

推荐阅读