【问题标题】:Possible to convert MD5 to SHA256?可以将 MD5 转换为 SHA256 吗?
【发布时间】:2019-06-20 20:50:29
【问题描述】:

我有一个带有双 MD5 密码和盐的 vBulletin 数据库,是否可以将 vBulletin 数据库中的密码转换为 SHA256,然后将它们存储在新数据库中?有没有真正简单的方法来做到这一点?

我的主要和唯一原因是防止用户必须创建新帐户,并停止使用 MD5。

【问题讨论】:

  • 像 MD5 SHA256 等加密无法逆转,您现在唯一能做的就是要求您的用户更改他们的密码,或者您重置所有用户的密码并通过电子邮件发送给他们..
  • 在您的数据库中创建一个新的密码列,您将在其中存储新的哈希值。用户登录后,使用他/她提供的原始密码使用 sha256 对其进行哈希处理。迟早,大部分活跃用户的密码都会被 sha256 散列。

标签: php mysql database md5 sha256


【解决方案1】:

散列算法是单向的,即它们不能像加密-解密算法那样被反转。

MD5() 是散列算法,SHA-1 / SHA-256;

也是

很高兴知道您已停止使用 MD5() 并转而使用 SHA-256()

解决您的问题。

首先像这样在您的用户表中运行查询

UPDATE users_t SET PASSWORD=SHA2(PASSWORD,256) WHERE 1=1

现在您所有的 MD5 哈希密码都将转换为 SHA256 哈希。

但是,您不能停止在登录/注册页面上使用 MD5。您必须更改检查逻辑,例如

$pass = $_POST['password'];
$hashedpass = hash('sha256',md5($pass)); // Now you need to insert/verify

【讨论】:

  • 我不知道那些 MySQL 和 PHP 函数。你可以考虑 MySQL 的 SHA2() 函数和 PHP 的 hash()password_hash()
  • 您刚刚对密码的 md5 进行了 sha256。这并不比 md5 更安全。
猜你喜欢
  • 2019-10-03
  • 2011-02-11
  • 2017-08-04
  • 2010-10-02
  • 2019-09-18
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 2016-04-14
相关资源
最近更新 更多