您好这是我正在处理的当前代码:
$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,但它不与salt混合,任何人都可以指出这个问题。我目前只是将sha1用于学习目的,而不是直接进行scrypt和bcrypt。这也是我将数据插入db:
的方法 $sql= "INERT into test SET uname='$uname', hashpass='$password', salt='$salt'";
如果有人能发现上面的插页有问题,那就太棒了。
到目前为止,我不知道如何验证这一点。(语法)会感激任何人都会指出我的方向。
但我认为应该继续思考如何编写这个。
$checkpass= sha1 ( $uname . $pass . $salt ) == $hashpass;
另外我想添加$ uname,因为我的所有uname都被赋予了客户端,所以所有的uname都看起来像这个C-9183102。
非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
你几乎肯定想要
$sql= "INSERT into test SET uname='$uname', hashpass='$password', salt='$salt'";
而不是INERT
。