弱相等&MD5&sha1

php中有两种比较的符号 == 与 ===

=== (强相等)在进行比较的时候,会先判断两种字符串的类型是否相等,再比较

== 在进行比较的时候,会先将字符串类型转化成相同,再比较

在弱相等 == 中,如果一个数值和字符串进行比较的时候,会将字符串转换成数值字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0

如 "admin"==0

"1admin"==1

“admin1”==0

"0e123456"=="0e456789"

MD5在强相等 === 中因为无法加密数组,遇到数组时就只能返回NULL

在preg_match中遇到NULL是总是返回true

==     可以使用 md5编译后以0e开头的字符串绕过、数组绕过

===   可以用数组绕过,如传入 ?a[]=1&b[]=1会使得 md5($a)===md5($b)

(md5加密不了数组,且输出都一样)

参考文章:PHP md5 相等绕过 - Ainsliaea - 博客园 (cnblogs.com)

MD5以0e为开头的一些字符串(适用于==)

以0e开头且md5后仍为0e开头

0e215962017

0E291242476940776845150308577824

md5以后为0e开头

  • QNKCDZO

0e830400451993494058024219903391

  • 240610708

0e462097431906509019562988736854

  • s878926199a

0e545993274517709034328855841020

  • s155964671a

0e342768416822451524974117254469

  • s214587387a

0e848240448830537924465865611904

  • s878926199a

0e545993274517709034328855841020

  • s1091221200a

0e940624217856561557816327384675

sha1之后以0e开头

  • aaroZmOk

0e66507019969427134894567494305185566735

  • aaK1STfY

0e76658526655756207688271159624026011393

  • aaO8zKZF

0e89257456677279068558073954252716165668

  • aa3OFF9m

0e36977786278517984959260394024281014729

  • 0e1290633704

0e19985187802402577070739524195726831799

  • 10932435112

0e07766915004133176347055865026311692244

sha1之后以0e开头

  • aaroZmOk

0e66507019969427134894567494305185566735

  • aaK1STfY

0e76658526655756207688271159624026011393

  • aaO8zKZF

0e89257456677279068558073954252716165668

  • aa3OFF9m

0e36977786278517984959260394024281014729

  • 0e1290633704

0e19985187802402577070739524195726831799

  • 10932435112

0e07766915004133176347055865026311692244

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值