php网站密码md5加密串比较方式

今天在做关于代码审计的问题遇到了一些问题,现在记录下来并分享,可能是我太笨了,有些问题一直没有明白

==对比的时候会进行数据转换,0eXXXXXXXXXX 转成0了,如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行

var_dump(md5('240610708') == md5('QNKCDZO'));

var_dump(md5('aabg7XSs') == md5('aabC9RqS'));

var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));

var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));

var_dump('0010e2' == '1e3');

var_dump('0x1234Ab' == '1193131');

var_dump('0xABCdef' == ' 0xABCdef');

md5('240610708'); // 0e462097431906509019562988736854

md5('QNKCDZO'); // 0e830400451993494058024219903391

把你的密码设成 0x1234Ab,然后退出登录再登录,换密码 1193131登录,如果登录成功,那么密码绝对是明文保存的没跑。

同理,密码设置为 240610708,换密码 QNKCDZO登录能成功,那么密码没加盐直接md5保存的。

我很菜,所以我会努力的! 
努力是因为不想让在乎的人失望! 
博主整理不易,如果喜欢推荐关注一下博主哦!

博主喜欢广交好友下面是我的联系方式: 
QQ:1263030049 
加好友前请注明原因谢谢!

猜你喜欢

转载自www.cnblogs.com/lxz-1263030049/p/9112939.html