我正在尝试以加密格式存储密码,但它似乎无法正常工作。这是我正在使用的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);
我已经用不同的salt但相同的密码运行了多次,并且一直得到相同的散列。换盐似乎没有任何效果,我也不知道出了什么问题。有人能看看这个代码并帮助我吗?
还有什么方法可以确认这是在使用SHA512吗?