我正在尝试以加密格式存储密码,但它似乎无法正常工作。这是我正在使用的PHP代码。
function encryptMe($input, $salt){
$output = crypt($input,$salt);
return $output;
}
function getSalt(){
//set number of repititions
$reps="5000";
$salt = substr(str_replace('+', '.', base64_encode(
pack('N4', mt_rand(), mt_rand(), mt_rand(), mt_rand())
)), 0, 16);
$salt = "$6$"."rounds=".$reps."$".$salt;
return $salt;
}
我的代码中也有以下声明。
$input['password'] = $_POST['password'];
$salt = getSalt();
$input['password'] = encryptMe($input['password'],$salt);
我用不同的盐运行了这个多次,但密码相同并且保持相同的哈希值。改变盐似乎没有任何影响,我无法弄清楚出了什么问题。有人可以看一下这段代码并帮助我吗?
还有什么方法可以证明这是使用SHA512吗?
答案 0 :(得分:1)