Php 是否可以将MD5转换为SHA256?
我有一个vBulletin数据库,有两个MD5'd密码和一个salt,是否可以在vBulletin数据库中获取密码,将其转换为SHA256,然后将其存储在新数据库中?有什么真正简单的方法可以做到这一点吗 我的主要原因也是唯一的原因,是防止用户创建新帐户,并停止使用MD5。哈希算法是单向的,即与加密解密算法不同,它们不能反转Php 是否可以将MD5转换为SHA256?,php,mysql,database,md5,sha256,Php,Mysql,Database,Md5,Sha256,我有一个vBulletin数据库,有两个MD5'd密码和一个salt,是否可以在vBulletin数据库中获取密码,将其转换为SHA256,然后将其存储在新数据库中?有什么真正简单的方法可以做到这一点吗 我的主要原因也是唯一的原因,是防止用户创建新帐户,并停止使用MD5。哈希算法是单向的,即与加密解密算法不同,它们不能反转 MD5() 很高兴知道您已经停止使用MD5()并移动到SHA-256() 解决你的问题。 首先在users表中运行如下查询 UPDATE users_t SET PASSWO
MD5()代码>
很高兴知道您已经停止使用MD5()
并移动到SHA-256()
解决你的问题。
首先在users表中运行如下查询
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
像MD5 SHA256等加密无法逆转现在唯一能做的就是要求用户更改密码,或者重置所有用户的密码并通过电子邮件发送给他们。在数据库中创建一个新密码列,在其中存储新哈希。用户登录后,使用他/她提供的原始密码使用sha256对其进行哈希运算。迟早,大多数活跃用户的密码都会用sha256散列。我不知道那些MySQL和PHP函数。您可能会考虑MySQL的函数和PHP的OR。您只做了密码MD5的一个Sa256。这并不比md5更安全。