实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)

Posted gyrgyr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)相关的知识,希望对你有一定的参考价值。

 

我是首次登录系统自动生成一个密码,格式大概是:   abcd1234&  这种格式 , 比如加密规则就是一个 MD5()

然后,首次账号密码登录,输入密码 abcd1234&,一直提示密码错误,我输出了一下MD5(‘bacd1234&‘)值,然后拿出数据库MD5的字符串比较,就是不一样,但是我生成随机密码后加密是没问题的.

 

问题出在: var_dump() 一下,我们登录表单提交的密码,和我们系统生成的密码字符串,会发现一模一样的字符串,类型也都是string,但是长度不一样,因为我输入密码有特殊字符&,这种类似字符

      经过html处理的跟我直接代码生成字符串的存在一个转化问题,必须把它们替换为相应的实体字符才可以正常显示,比如空格、<、>等。我把系统生成随机密码的特殊字符‘‘&‘‘,改成

      ‘&amp;‘就好了

 HTML常用字符实体一览:

技术图片

 

以上是关于实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)的主要内容,如果未能解决你的问题,请参考以下文章

Java 密码加盐

MD5加密加盐

加盐加密的介绍

ios 加密

Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

md5 为啥 加盐