我试图弄清楚我将如何在数据库中保留一个非常简单的加密值。很明显,这没什么特别敏感的。但是,您知道 crypt() 函数在生成加密字符串后如何将 salt 参数留在字符串的前面。我正在尝试使用 str_replace() 将其删除,但它不起作用。它仍然有我在原始函数中使用的 salt 参数。谁能告诉我我做错了什么?
<?php
$password=$_GET['password'];
$salt="$2x$07$654fadkdlaf6361q4z2fs$";
$passwordCrypt=crypt($password, $salt);
echo $passwordCrypt."<br />";
$trimmed = str_replace($salt, "", $passwordCrypt);
echo $trimmed;
?>
运行脚本的结果:
$2x$07$654fadkdlaf6361q4z2fs.QpVju.Don9u/cEmr6utzgUPP9CrH6ua
$2x$07$654fadkdlaf6361q4z2fs.QpVju.Don9u/cEmr6utzgUPP9CrH6ua