微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 加密/解密与MySQL数据库之间的密码

我开始为我的网站创建一个用户系统,我想要做的是加密密码,而不是明文.我正在使用 PHP / MysqL,所以我认为crypt()是一个很好的起点.但是,我对这样的密码学并不陌生,而且我很难理解它是如何工作的.有人知道如何在最简单的层面上实现密码存储为加密字符串的方式,但总是能够解密,没有安全问题?
密码应该经过哈希处理,而不是加密.也就是说,您不应该删除密码.相反,你应该比较哈希.

>用户设置密码$password =’hX4)1z’
>您获得密码哈希并存储到DB:

#

$pw = hash_hmac('sha512','salt' . $password,$_SERVER['site_key']);
MysqL_query('INSERT INTO passwords (pw) VALUES ('$pw');

>客户稍后再回来.他们输入了密码,你比较一下:

#

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";

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐