我不能让我的PHP加密工作

时间:2013-01-10 22:15:00

标签: php function encryption salt

该脚本用于加密密码,因此很难在其上使用rainbowtables,因为人们无法轻易破解服务器,但我似乎无法让它工作,所以我希望你们中的一个可以提供帮助我

<?php

function enc($string){
    $salt = "randomsalt";
    $hash = sha1(md5($salt.$string)) . $md5($string) . sha1(md5(md5($string)));
    return $hash;   
}

echo enc('password');

?>

2 个答案:

答案 0 :(得分:1)

听取评论,但你也有一个错字:

$md5($string)需要md5($string)(它不是变量,它前面不应该有$

你确实没有在这里加密,但这只是一个命名问题(你正在对它进行哈希处理,这就是你想做的事情)......但是,你的盐可能不应该是一个固定的字符串。 ..如果你真的想要一个强哈希,它应该因用户而异。关于这个主题还有很多话要说(md5SHA1不是密码的最佳哈希算法,因为两者都有太多的彩虹表,而且执行起来太快了,但是您可以阅读herehere for bcrypt info

答案 1 :(得分:0)

$md5( $string)

打破你的代码。删除$

你应该为所有用户使用像bcrypt和不同的盐这样的东西。