我想做的是自我解释: 我得到一个"用户名"和密码"由用户设置,并尝试加密它。
这是我迄今为止所做的尝试:
//Firstly i recieve user and pswd
$usua=SQLite3::escapeString($_POST['usuario']);
$psw=SQLite3::escapeString($_POST['psw']);
//Then i proceed to encrypt
$key = md5('firstWord');
$salt = md5('secondWord');
function hashword($string,$salt){
$string= crypt($string, '$1$'.$salt.'$');
}
$psw = hashword($psw, $salt);
这段代码总是会返回相同的结果:" $ 1 $ 7b77d82"。
出了什么问题?
你会怎么做?
我应该使用Bcrypt吗?
显然,此过程应为每个使用的密码返回不同的值,但它不会。
答案 0 :(得分:0)
对于用户名和密码的基本加密,您可以这样做:
$usua=SQLite3::escapeString($_POST['usuario']);
$psw=SQLite3::escapeString($_POST['psw']);
$salt = "aString";
$encryptedUsr = crypt($usua, $salt);
$encryptedPsw = crypt($psw, $salt);
crypt(string $string, [string $salt])
函数有两个参数:要加密的字符串和一个名为$ salt的可选字符串,用于基于散列。