由于parse.com正在关闭其服务,我现在必须迁移到mysql。但我似乎无法获得密码生成方法。
示例密码为:
" $ 2A $ 10 $ oNQjqXhZjWHVb.ock1Lfs.D4yeHhtaEFdiuHNIkSsambfsSCix / 96"
我读了几个来源并得到了它使用bcrypt进行密码生成,成本为10。 我仍然无法在PHP中获得概念并实现相同的功能(我正在为我的应用程序构建API)。
以下是我遇到的相同链接:
What column type/length should I use for storing a Bcrypt hashed password in a Database?
任何人都可以帮助我在php中构建相同的密码生成方法,这样我就不会对现有的应用程序用户感到失望(我需要验证登录密码以及在注册时生成密码)。 / p>
提前致谢!
答案 0 :(得分:2)
您应该使用password_verify()
:
$hash = '$2a$10$oNQjqXhZjWHVb.ock1Lfs.D4yeHhtaEFdiuHNIkSsambfsSCix/96'; // e.g. coming from database
$userInput = isset($_POST['password']) ? $_POST['password'] : null; // coming from user input form
if (password_verify($userInput, $hash)) {
// user password valid
}
else {
// user password invalid
}