【发布时间】:2014-03-04 13:50:55
【问题描述】:
这是我第一次尝试安全地存储密码,我想确保一切都正确完成。有人建议我将 SHA-256 散列与 salt 一起使用。
假设用户提交了完整的密码表单,我们通过
获取密码$password = $_POST["password"];
什么是加盐 $password 并在其上使用 SHA-256 散列的正确方法,因此它可以存储在数据库中的密码字段“密码 CHAR(64)”中?
完成并存储后,我将如何将数据库中存储的值与登录表单中输入的用户进行比较?让我们假设 $loginPassword = $_POST["loginPassword"]; 是用户输入的内容。
【问题讨论】:
-
建议使用 SHA-256?那不是what I've heard。
-
@ÁlvaroG.Vicario 很有趣,作为今天使用的另一种散列方法,您有什么建议?最好是安全和快速?我认为它可以通过与 SHA 相同的逻辑来应用?
-
它不可能安全和快。在链接的手册页中使用 Blowfish 的提示很好恕我直言。 (还有一些其他类似的算法,但它们是专门设计为慢的,就像 Blowflish 一样。)
-
使用
crypt()函数;如果您有兴趣,它会为您处理盐分。
标签: php security hash passwords salt