哈希验证


Hash Validation

你好,这是我目前正在处理的代码:

$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。