关于md5

作者 f0zz 日期 2022-01-14
关于md5

MD5是全称是Message-Digest Algorithm5(信息-摘要算法),由MD2、MD3、MD4发展而来的公开算法。
MD5是一种哈希算法,任意长度的输入经过处理后输出为128位的信息,且尽量使结果不冲突和信息不可逆。

md5解析永真

MD5函数第二个参数默认值为false,表示会产生一个32位的常规MD5值。而true,则是原生的16字符的二进制格式,这意味着,这里有可能人为输入一个字符串,经加密后的值以二进制格式生成,又被当字符串处理,很可能新的字符串中含有可以构造SQL万能密码的’or’的部分。

ffifdyop经过md5加密后为276f722736c95d99e921722cf9ed621c,由于md5后面的参数为true,所以加密后的字符串可能会被再次处理,形成' or ' <乱码> 造成永真条件

md5不支持数组。遇到值不相等md5相等时可以考虑构造数组绕过MD5加密

MD5碰撞:

md5碰撞指的是两个字符串经过md5加密后得到的值相等
我们都知道MD5是由16进制数组成的32位字符串,从碰撞概率上来计算,即:1/16^32
例如:
QNKCDZO
240610708