【发布时间】:2017-06-26 12:16:36
【问题描述】:
我目前正在学习 PHP,并且一直在浏览论坛,以了解当前如何最好地在 PHP 中散列密码的想法。
任何人都可以就目前使用的最佳密码散列方法提供建议。有人告诉我 PHPass,但 2017 年有更好的选择吗?
感谢您的建议,
伊恩
【问题讨论】:
标签: php password-encryption password-hash
我目前正在学习 PHP,并且一直在浏览论坛,以了解当前如何最好地在 PHP 中散列密码的想法。
任何人都可以就目前使用的最佳密码散列方法提供建议。有人告诉我 PHPass,但 2017 年有更好的选择吗?
感谢您的建议,
伊恩
【问题讨论】:
标签: php password-encryption password-hash
你不应该加密密码,你应该只散列它们。加密意味着您可以将密码解密为人类可读的形式。你不应该那样做。散列是一种单向方法,一旦散列,密码就无法以人类可读的形式恢复。
请使用 PHP 的 built-in functions password_hash() 和 password_verify() 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,您可以使用 password_hash() compatibility pack。在散列之前,请确保您 don't escape passwords 或对它们使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。
【讨论】: