1、hash密码,主要使用单向分散算法来创建密码分散。
密码加密方式数据库中,存储结果的列可以超过60个字符,需要将varchar长度设置为255。
<?php //加密 function generatePassword($password) { return password_hash($password, PASSWORD_DEFAULT); } //验证 function verifyPassword($password, $hashPassword) { return password_verify($password, $hashPassword); } //加密结果:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
2、md5密码,是一种非对称加密。最好在加密时添加混淆字符串。
这应该是最常见的密码加密方法。
这种密码方法实际上非常安全,因为哈希碰撞可能会导致漏洞。
<?php //加密 function md5_password($password, $hash = 'autofelix_') { return md5($hash . $password); } //验证 $userinfo = /** 查询用户信息 **/; if ($userinfo['password'] !== md5_password($password)) { /** 密码错误逻辑 **/ } /** 密码正确,继续往后走逻辑 **/
以上就是php生成用户密码的两种方法,希望对大家有所帮助。