你好,这是我目前正在处理的代码:
$uname = "unholybanana";
$pass = "choykiller13";
$salt = salty();
$password = sha1 ( $uname . $pass . $salt );
echo $password;
function salty() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
return md5(uniqid(mt_rand(), true));
}
到目前为止,我的问题是$password echos$uname+$pass散列混合,但它没有与salt混合——任何人都可以指出这个问题。我目前只是出于学习目的使用sha1,而不是直接使用scrypt和bcrypt。这也是我将如何将数据插入数据库:
$sql= "INERT into test SET uname='$uname', hashpass='$password', salt='$salt'";
如果有人能发现我上面的插入是否有问题,那就太好了。
到目前为止,我还不知道如何才能验证这一点。(语法)如果有人能为我指明一个好的方向,我将不胜感激。
但我认为它应该仍然在思考我将如何进行编码。
$checkpass= sha1 ( $uname . $pass . $salt ) == $hashpass;
此外,我想添加$uname,因为我所有的uname都给了客户,所以所有的unames看起来都像这个C-9183102。
非常感谢您的帮助,谢谢!
您几乎肯定想要
$sql= "INSERT into test SET uname='$uname', hashpass='$password', salt='$salt'";
而不是CCD_ 1。