jus*_*guy 1 php encryption hash md5 sha
好吧,我不知道以前是否曾经问过这个问题,但有很多消息来源表示不建议使用MD5来散列敏感数据,例如密码.但没有人对他们将使用的其他散列函数给出任何建议或指示.所有你看到的,包括在这个网站上的人都会回头,第四个是它或者它不安全.
众所周知,维基百科说:
"1996年,在MD5的设计中发现了一个缺陷.虽然它不是一个明显致命的弱点,但是密码学家们开始推荐使用其他算法,例如SHA-1,后来发现它也很脆弱."
这是由告诉你不要使用md5或sha1的人引用的,但是他们不想让其他人知道你应该考虑的其他选择.
当然,我们不要忘记,您设计应用程序的方式,存储密钥的位置,访问权限的人,使用盐等等也非常肯定更重要.
当然,验证和验证所有数据,而不是为SQL注入留下任何后门,XSS漏洞是关键.但据我所知,md5很容易被"暴力强迫"或"脱盐".我不是安全大师,这就是为什么我这么问我和任何经验丰富的人都可以用更简单的术语来理解.
这就是我现在正在做的事情,但也许有人可以给我优点和缺点:
$hash = hash('sha256', $salt . hash('sha256', $_POST['pass']) );
Run Code Online (Sandbox Code Playgroud)
我希望我的问题不会出错,我知道有很多文章和页面,但我没有找到任何答案,我相信其他人也想知道.
从PHP 5.5开始,您可以使用password_hash:
/**
* In this case, we want to increase the default cost for BCRYPT to 12.
* Note that we also switched to BCRYPT, which will always be 60 characters.
*/
$options = [
'cost' => 12,
];
echo password_hash("Stack Overflow", PASSWORD_BCRYPT, $options)."\n";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |