当前位置: 首页 > 知识库问答 >
问题:

转换加密密码从MD5到SHA-256,我的协议有缺陷吗?

薄涵衍
2023-03-14

让我们假设我对SHA-256中的所有MD5哈希进行哈希。我会得到md5哈希的sha-256哈希。

附注:我知道重复哈希并不安全,这不是我问题的重点

当用户想要连接时,我只需更改散列('SHA256',md5($password),false)中的md5($pass),使其与存储在数据库中的值匹配(假设$password是正确的)

这种做法有缺陷吗?

共有1个答案

宋耀
2023-03-14

简单的密码散列是不够的,它受制于彩虹表,而且要快。

相反,在PHP中使用安全的密码散列:password_hash()password_verify()或类似的函数,如PBKDF2、Bcrypt或script。由于增加了两个功能:重复计数和随机盐,这些功能更加安全。这一切都是为了提高攻击者必须执行的工作系数。

毕竟,关键是要有一个安全的系统。只是让攻击者更不方便并不是答案,有黑客程序在那里利用糟糕的密码安全性。

 类似资料:
  • 有没有办法将PostgreSQL密码加密方法从MD5更改为SHA? 如果是,你能告诉我怎么做吗? 我正在使用PostgreSQL 9.5

  • 没有用第三方类库,实现md5常规加密、md5二次加密、sha1、sha256、sha384、sha512加密。 作者说:新手可以参照代码学习ios的加密实现。使用详解:http://developerpan.blog.51cto.com/blog/7454463/1254875 [Code4App.com]

  • 本文向大家介绍JavaScript SHA-256加密算法详细代码,包括了JavaScript SHA-256加密算法详细代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript SHA-256加密算法,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家有所帮助,希望大家继续关注呐喊教程的最新内容。

  • 作为练习,我用C编写了自己的SHA-512哈希函数实现。我知道它是有效的,因为我从abc 在Base64中。就像在测试现场一样。 我有两个问题: > 如何加密我的密码?如果我有: 我应该创建字符串以输入盐通过="ssssssssmy密钥密码"吗?或者可能以相反的方式?我试图在谷歌上到处寻找答案——我找不到真正合适的东西。 在base64中,我应该使用什么编码来获得像/etc/shadow文件中那样

  • 我正在考虑将PostgreSQL密码加密从MD5更改为SHA的问题,以找出如何将Postgres中的用户密码哈希更改为MD5以外的内容,因为据我所知,它现在基本上已经过时了。 但我很好奇服务器的< code>pg_hpa.conf文件是否需要更改,因为根据本教程https://blog . big binary . com/2016/01/23/configure-PostgreSQL-to-al

  • 该md5加密方法,需要手动import库函数,调用md5方法即可使用,可以对字符串加密为32位的字符串结果,如需进一步了解, 详见MD5百度百科 使用方法: import md5Libs from "uview-ui/libs/function/md5"; export default{ onLoad() { console.log(md5Libs.md5('uView')) // 结果