如何在php中将我的md5更改为哈希密码

如何在php中将我的md5更改为哈希密码,php,Php,我的老师想把我的md5密码改成散列密码。我尝试使用哈希,但无法登录。我是新的编码,我真的很困惑为什么我不能登录 这是我的注册页面: 用户名 密码 登录 您不能使用旧密码登录,因为它使用不同的哈希算法,并且无法解密,您只能将其与纯文本密码进行比较 有两件事需要牢记: 您还需要修剪密码$pwPass=trim($\u POST['pwPass']) 您应该使用password\u验证($password,$hashedpassword)输入 您的登录用户 尝试在线对密码进行散列,将其与数据库上的

我的老师想把我的md5密码改成散列密码。我尝试使用哈希,但无法登录。我是新的编码,我真的很困惑为什么我不能登录

这是我的注册页面:


用户名
密码
登录

您不能使用旧密码登录,因为它使用不同的哈希算法,并且无法解密,您只能将其与纯文本密码进行比较

有两件事需要牢记:

  • 您还需要修剪密码
    $pwPass=trim($\u POST['pwPass'])
  • 您应该使用
    password\u验证($password,$hashedpassword)输入
    您的登录用户

尝试在线对密码进行散列,将其与数据库上的散列进行比较,看看是否存在差异。它们可能有助于识别不匹配的来源。您是否需要将当前md5散列更改为另一个散列方法,而无需用户创建新密码?或者您只需要将md5哈希方法更新为更好的方法,而不关心当前的密码?您还没有发布任何实际处理登录的代码。@Leroy说明只是将md5更改为哈希。我可以删除当前用户,然后您需要在获取用户并验证密码的位置共享代码。另外,
PASSWORD\u DEFAULT
此时使用bcrypt,但文档中指出:
注意,随着新的更强大的算法添加到PHP中,此常量会随着时间的推移而改变。因此,依赖一个可以随时间变化的常数是不好的。共享包含一些
md5
代码的代码,因为这是您以前的密码验证。感谢您的回复!是的,这就是我感到困惑的地方。我不知道把密码放在哪里。我可以注册,但无法登录到新创建的帐户。再次抱歉,我真的是新手,我没有逻辑方面的诀窍:cpassword\u verify()进入loginUser.php,首先从登录页面获取$\u POST变量从db password中选择用户\u使用哈希验证密码,如果密码通过重定向,我建议您阅读此内容