0

该脚本旨在加密密码,以便在其上使用彩虹表更加困难,并且人们无法轻易破解服务器,但我似乎无法让它工作,所以我希望你们中的一个可以帮助我。

<?php

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

echo enc('password');

?>
4

2 回答 2

1

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

$md5($string)必须是(它不是一个变量,它前面md5($string)不应该有一个)。$

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

于 2013-01-10T22:24:18.917 回答
0
$md5( $string)

破坏你的代码。删除 $

您应该为所有用户使用 bcrypt 和不同的盐之类的东西。

于 2013-01-10T22:23:59.173 回答