0

您好这是我正在处理的当前代码:

$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 hashed mixed 但它不与盐混合任何人都可以指出这个问题。我目前只是将 sha1 用于学习目的,而不是直接使用 scrypt 和 bcrypt。这也是我将数据插入数据库的方法:

    $sql= "INERT into test SET uname='$uname', hashpass='$password', salt='$salt'";

如果有人能发现我上面的插入有问题,那就太好了。

到目前为止,我不知道如何验证这一点。(语法)希望有人能指出我一个好的方向。

但我认为它应该仍在思考我将如何进行编码。

     $checkpass= sha1 ( $uname . $pass . $salt ) == $hashpass;

我还想添加 $uname,因为我所有的 uname 都提供给了客户端,所以所有 uname 看起来都像 C-9183102。

将不胜感激任何帮助谢谢!

4

1 回答 1

2

你几乎肯定想要

$sql= "INSERT into test SET uname='$uname', hashpass='$password', salt='$salt'";

而不是INERT.

于 2012-08-27T01:34:43.137 回答