当数据库中的密码为明文时需要进行加密处理,一般的加密方法很多MD5、sha1、DES、AES、RSA加密等;
为数据库中的密码加密时,一般都是用MD5,MD5有个属性不可逆,
阿里云双十二优惠活动: https://m.aliyun.com/act/team1212?params=N.HnyHpvpyAy
今天上午碰到的错:
SQL语句:
update 表 SET password = MD5(password)
但是通过加密后的得出来的字符串有时却不是我们预想的那样的
例:password = 1234 加密后结果应该是:password = 81dc9bdb52d04dc20036dbd8313ed055
实际结果为:password = ec6a6536ca304edf844d1d248a4f08dc
解密后才发现是使用了这个加密:md5(md5($pass)) 第一次加密后,结果转换成小写,对结果再加密一次
之前是使用的大写的SET,试了无数次 后来修改成小写的set终于得到想要的结果了。也就是第一种。
不过现在本想做下记录,不管以后还是遇到此问题的同学,能避免浪费时间。结果换了自己的电脑一切使用正常,我很郁闷,,不过还是记录下来吧。
希望有了解的大神看到此处的话能帮忙解释下。。。