AKo*_*Kor 6 php mysql encryption
我开始为我的网站创建一个用户系统,我想要做的是加密密码,而不是明文.我正在使用PHP/MySQL,所以我认为这crypt()是一个很好的起点.但是,我对这样的密码学并不陌生,而且我很难理解它是如何工作的.有人知道如何在最简单的层面上实现密码存储为加密字符串的方式,但总是能够解密,没有安全问题?
密码应该经过哈希处理,而不是加密.也就是说,您不应该删除密码.相反,你应该比较哈希.
$password = 'hX4)1z'$pw = hash_hmac('sha512', 'salt' . $password, $_SERVER['site_key']);
mysql_query('INSERT INTO passwords (pw) VALUES ('$pw');
Run Code Online (Sandbox Code Playgroud)
mysql_query('SELECT pw FROM passwords WHERE user_id = ?');
//$pw = fetch
if ($pw == hash_hmac('sha512', 'salt' . $_REQUEST['password'], $_SERVER['site_key']) {
echo "Logged in";
}
Run Code Online (Sandbox Code Playgroud)