如果我在 PHP 中进行以下调用,它将使用我的密码和 salt 使用 sha512 对其进行多次散列:
echo crypt('password', '$6$rounds=1000$salt');
但是,我想知道这个过程是如何运作的。是这样的吗?:
$hash = hash('sha512', 'password' . 'salt');
for ($i = 1; $i < 1000; $i++) {
$hash = hash('sha512', $hash);
}
echo base64_encode($hash);
或者这是一个非常复杂的过程?
我问的原因是因为我想要一个易于用其他语言实现的加密哈希系统。