0

我需要检查一下我的代码是否安全

$pass = "jitubond";
$hashed_password =  md5($pass);
echo $hashed_password; // this is unsafe 100%
echo "<br>";
$hashed = hash("sha512", $pass); // style 1 
echo $hashed;
echo "<br>";
$hashed = hash("sha512", $hashed_password); // style 2 
echo $hashed;

你能指导一下它可以用作密码吗?

谢谢大家 =)

4

2 回答 2

1

crypt()在您还可以定义轮数和盐(您应该真正使用盐)的地方使用它也更安全,这也是 PHP 核心的一部分

http://php.net/manual/en/function.crypt.php

https://stackoverflow.com/a/10281510/753676

你也不能依赖它,hash()因为它不是 PHP 核心的一部分 http://php.net/manual/en/faq.passwords.php

PHPass 也是一个很好的选择: https ://security.stackexchange.com/questions/17111/php-crypt-or-phpass-for-storing-passwords

一些例子: http: //net.tutsplus.com/tutorials/php/understanding-hash-functions-and-keeping-passwords-safe/

http://www.openwall.com/phpass/

Blowfish/bcrypt 也被认为是最安全的算法(但可能过于占用 cpu),您可以设置一些参数,例如成本因子......

一些服务器还安装了带有 mcrypt 库的 php,它还支持更多类似 TwoFish、TreeFish 等http://www.php.net/manual/en/intro.mcrypt.php但这可能太多了

于 2013-05-29T09:08:13.487 回答
-1

sha512 是一个非常好用的算法,首先使用 md5 是大材小用,只使用 sha512。

于 2013-05-29T09:05:48.053 回答