该脚本用于加密密码,因此很难在其上使用rainbowtables,因为人们无法轻易破解服务器,但我似乎无法让它工作,所以我希望你们中的一个可以提供帮助我
<?php
function enc($string){
$salt = "randomsalt";
$hash = sha1(md5($salt.$string)) . $md5($string) . sha1(md5(md5($string)));
return $hash;
}
echo enc('password');
?>
答案 0 :(得分:1)
听取评论,但你也有一个错字:
$md5($string)
需要md5($string)
(它不是变量,它前面不应该有$
。
你确实没有在这里加密,但这只是一个命名问题(你正在对它进行哈希处理,这就是你想做的事情)......但是,你的盐可能不应该是一个固定的字符串。 ..如果你真的想要一个强哈希,它应该因用户而异。关于这个主题还有很多话要说(md5
和SHA1
不是密码的最佳哈希算法,因为两者都有太多的彩虹表,而且执行起来太快了,但是您可以阅读here和here for bcrypt info。
答案 1 :(得分:0)
$md5( $string)
打破你的代码。删除$
你应该为所有用户使用像bcrypt和不同的盐这样的东西。