1
5
SHA512和MD5是 hashes ,而不是加密算法。根据设计,它们是不可逆的。 转换这些值的唯一方法是等待每个用户登录,根据现有的SHA512哈希验证其密码,并使用MD5重新散列其输入。这与密码哈希更新为更安全标准的方式相反。 但请你, 请 ,不要这样做。 MD5 is hopelessly broken 。您将为您的用户 巨大的 无法从SHA512恢复到MD5。请找到使用较新版本软件的方法。
为了提供合理的安全性,每个密码还必须具有唯一的随机 salt (它可以防止 rainbow tables )并且每个散列必须迭代足够的次数才能 brute forcing 不切实际的随着计算机功能的增强,迭代次数必须增加。如今,迭代数万或数十万次是很常见的。
加密是
令人震惊地
很难做到正确。与其尝试手动遵循所有最佳实践,不如使用在正确抽象级别上运行并经过安全审核的库和函数。算法类似
bcrypt
(通过PHP内置
|
2
2
简短回答:没有。 详细答案: 根据设计,MD5和SHA512都是 单向的 哈希值。为了将SHA512转换为MD5,您需要知道 二者都 您尝试转换的每个密码的原始密码,以及 而且 用来加密它们的盐。您几乎肯定不会知道每个用户的每个密码。
MD5也是一个 较弱的 SHA512的哈希算法。转换为MD5将生成密码 远的 不太安全,这可能是你不想做的。相反,您应该寻找一种合并新数据库系统的方法。 |
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |