有人可以用非常缓慢的术语告诉我这两行PHP的区别吗?
$hassh = base64_encode(sha1($word));
$hassh = hash(’sha1′, $word);
答案 0 :(得分:8)
不确定你的意思是“不同”,但第一行:
$hassh = base64_encode(sha1($word));
var_dump($hassh);
得到你:
string 'YWFmNGM2MWRkY2M1ZThhMmRhYmVkZTBmM2I0ODJjZDlhZWE5NDM0ZA==' (length=56)
第二个:
$hassh = hash('sha1', $word);
var_dump($hassh);
获取你:
string 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d' (length=40)
所以,首先,我不确定你是否打算使用base64_encode:这里似乎没有用,并且可能没有必要:sha1已经返回一个字符串:
$word = 'hello';
var_dump(sha1($word));
获取你:
string 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d' (length=40)
除此之外,使用sha1算法的那两行得到了相同的东西。差异可能是hash
可以与许多散列算法一起使用。
哦,而且,还有: