如何在python中将md5 32字节哈希转换为对应的sha256

swo*_*ish 3 python werkzeug

我有一个包含md5哈希的数据库,我想将它们转换为另一种类型的哈希,以便用户可以登录到新网站.

我正在使用该werkzeug.security库来生成哈希值.

我有办法做到这一点吗?

Kar*_*cki 5

MD5是单向散列函数,没有办法将其反转,因此可以将其重新编码为另一种类型的散列.

解决此问题的常用方法是拦截登录过程,获取纯文本密码并为新系统单独编码.确保您使用的是现代密码哈希算法,如bcryptscrypt而不是SHA256.

  • 不,他们不必更改它们 - 只要您可以保持MD5哈希值,您可以使用它进行初始登录,然后在验证MD5哈希值并从数据库中删除旧的MD5值后创建SHA256哈希值. (4认同)
  • 不,[werkzeug默认](http://werkzeug.pocoo.org/docs/0.14/utils/#module-werkzeug.security)到PBKDF2.显然工作因子为8. (3认同)