我的数据库密码和用户填写的密码不匹配
(My DB password and user filled-in password, do not match)这个问题的出现的原因是数据库中存储密码的字段长度不足以容纳通过password_hash函数生成的加密密码。在使用password_hash函数时,官方建议将生成的加密密码存储在一个可以超过60个字符长度的数据库字段中,而255个字符长度是一个较好的选择,以应对未来默认哈希算法发生变化的情况。因此,解决这个问题的方法就是将数据库中存储密码的字段长度设置为至少60个字符,最好是255个字符。
另外,由于在50个字符长度的字段中保存的旧密码在保存时被截断,导致额外的信息丢失,因此无法对这些旧密码进行验证。因此,还需要重新生成存储在该字段中的旧密码。
将字段长度设置为60个字符或更长,并重新生成存储在旧密码字段中的密码,可以解决(My DB password and user filled-in password, do not match)这个问题。