将sha512转换为md5

-3 php mysql hash md5 sha512

在Multicraft面板中使用SHA512作为加密(您可以更改MD5的设置),但我需要使用同一数据库的旧版本.此旧版本没有使用SHA512进行加密的选项,但只能使用MD5进行加密.因此,MD5的所有密码均无效.

可以将MySQL数据库中的所有SHA512密码转换为MD5吗?

Chr*_*ris 5

SHA512和MD5是哈希值,而不是加密算法.按照设计,它们是不可逆的.

转换这些值的唯一方法是等待每个用户登录,根据现有的SHA512哈希验证其密码,并使用MD5重新输入其输入.这与密码哈希更新为更安全标准的方式相反.

但请,不要这样做. MD5无可救药地被打破了.您将为您的用户提供从SHA512恢复到MD5 的巨大损失.找到一种方法来使用较新版本的软件.


¹据zaph在评论中指出,"重组"过于简单化,根据您的面板实际实施方式,今天可能会使用不安全的密码存储.

为了提供合理的安全性,每个密码还必须具有唯一的随机(这可以防止像彩虹表这样的事情),并且每个哈希必须迭代足够多次才能使粗暴强制变得不切实际.随着计算机变得越来越强大,必须增加迭代次数.今天,通常迭代数十或数十万次.

密码学是惊人难以得到的权利.不要试图手动遵循所有最佳实践,而是使用在适当抽象级别运行的库和函数,并进行安全性审计.像bcrypt这样的算法(通过PHP的内置password_hash函数,它当前是默认算法)将是一个不错的选择.