有没有办法将sha256转换为md5哈希

时间:2019-05-16 16:36:36

标签: mysql hash md5 sha256 salt

我试图将用户凭据从一个数据库模式导入到另一个数据库,而无需用户创建新密码,因此第一个用户表(我需要导入到新站点的用户表)使用sha256 + salt(我认为),而我的新站点正在使用md5 + salt(我认为),我可以访问所有文件和内容,因此,如果我可以对sha256进行反向工程以使其成为md5,我可以找到正在使用的盐吗?

有没有办法做到这一点?如果是这样,我将如何处理? 密码的示例为:

旧站点:e3e922af8a36de975983b075b3bf5336bbb26c8008aa5d9b39aef8d85cb7eb32

新站点:$ S $ Dbj.yBTjHV97QNLHwuoykWxzpNL9bxxFl4b8uoP1u1rJzCyDZb.e

我将不胜感激,谢谢!

更新:新站点使用的是base64encode + salt,我知道这是什么,只是要清楚一点,我并不是想真正地以纯文本形式查看其密码,我可以用一些mysql命令或其他方式转换sha256-> base64encode如果我知道盐的话?

1 个答案:

答案 0 :(得分:0)

除非您准备破解他们的密码,否则,您不能将SHA2-256哈希转换为MD5。首先,您需要知道生成哈希的内容。

从一种哈希类型迁移到另一种哈希类型时,最好的计划是首先将所有密码哈希规范化为一致的形式,并且Modular Crypt Format得到最广泛的支持。

如果您可以将旧的哈希值纠缠成这种形式,那么您应该可以将它们与password_verify一起使用。您还可以通过使用password_hash重写用户密码来更新用户密码,该密码默认情况下使用Bcrypt。

随着时间的流逝,您可以踩掉旧的SHA2-256和MD5密码并限制曝光次数。