2016-07-24 94 views
0

我已阅读手册中的PHP函数password_hash()使用随机盐散列密码。如何让这个随机盐保存到数据库?如何从PHP中的password_hash获取随机盐?

+3

为什么你需要这种盐? –

+4

salt是生成的散列的一部分,并且每次都会随机生成。你不应该单独保存它,你不应该修改/修复它。不要管它!按照文档中的说明使用'password_hash'。 – ceejayoz

回答

2

当您运行password_hash时,盐会自动随机生成。每次都会有所不同,即使是相同的密码。 这很好!the docs

enter image description here

你不应该手动设置或以任何方式修改盐。只需将整个散列保存在数据库中,并让PHP处理它。 password_hashpassword_verify,默认情况下,以符合行业最佳实践的方式使用行业标准bcrypt算法。修改该行为可能会使您的网站减少的安全性。

1

这是很简单的,看看这里:http://php.net/manual/en/faq.passwords.php#faq.password.storing-salts

但实际上你不应该需要它,因为password_verify()并不需要手动的盐。

+0

如果你要参考PHP.net,至少使用它的英文版http://php.net/manual/en/faq.passwords.php#faq.password.storing-salts - 编辑:这根据你原来的帖子http://stackoverflow.com/revisions/38553031/1 –

+0

不是我downvote btw –

+0

@弗雷德 - ii - 你说得对。我没有注意到我在德国的网站上。 – alve89