Swa*_*aly 2 php security encryption
所以我知道MD5在技术上是新应用程序中的禁忌,但我随机想到了这个:
以来
md5($password);
Run Code Online (Sandbox Code Playgroud)
不安全,不会
md5(md5($password))
Run Code Online (Sandbox Code Playgroud)
是一个更好的选择?我使用的越多,它会越来越安全吗?假如我做了这样的功能
Run Code Online (Sandbox Code Playgroud)function ExtremeEncrypt($password) { $encryptedpass = md5(sha1(md5(md5($pass)))); return $encryptedpass; }
如果像vbulletin那样为每个帐户使用随机盐,这个函数是否会是一个很好的选择.
双重散列字符串除了限制键空间并更有可能发生冲突外什么都不做.请不要这样做.双md5散列实际上不如具有一些攻击向量的单个散列安全.
更好的选择是在php 5.5或ircmaxell的password_compat库中使用password_hash函数用于早期的php版本.
第一个:哈希和加密不一样.哈希是一种单向函数,而加密期望数据可以被解密.
你应该不会尝试去创造自己的解决方案,当涉及到安全性.在PHP中,从5.5版本开始,有一个名为Password Hashing的本机解决方案.md5()是不安全的,你应该意识到这一点.
如果您的PHP版本低于5.5,则应使用salt来哈希并存储密码.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |