FreeBuf|Cookie算法与Rootkey随机强度分析( 二 )
可知,root_key的可能性为(0xffffffff-0)+1=2^32种可能.
揣测一下作者认为的强度为:
62^28+62^29+62^30+62^31+62^32
2.2遍历全部rootkey耗时
这儿md5和substr计算是静态的字符串,实际的字符串是变化的,消耗的时间应该在计算出来的时间的周围浮动
<?php$start=microtime(true);for($i=0;$i<10000000;++$i){;}$total_1=microtime(true)-$start;$start=microtime(true);md5("111111111111111111111111111111");}$total_2=microtime(true)-$start;$start=microtime(true);substr(md5("111111111111111111111111111111"),0,16);}$total_3=microtime(true)-$start;$start=microtime(true);$chars='abcdefghigklmnopqrstuvwxwyABCDEFGHIGKLMNOPQRSTUVWXWY0123456789';$max=strlen($chars)-1;for($i=0;$i<1000000;++$i){$hash='';$length=rand(28,32);for($y=0;$y<$length;$y++){$hash.=$chars[mt_rand(0,$max)];}}$total_4=microtime(true)-$start;echo($total_2-$total_1);echo"n";echo($total_3-$total_1);echo"n";echo($total_4-$total_1);echo"n";?>结果:
3.9920189380646//10^7次md5用时
7.0076858997345//10^7次substr(md5)用时
8.376072883606//10^6次生成key用时
那么单进程遍历rootkey的时间需要:
((8.376072883606/10^6)*(2^32))/3600≈10hour
本文作者:光通天下无患实验室Djerryz , 转载请注明来自FreeBuf.COM
精彩推荐
【FreeBuf|Cookie算法与Rootkey随机强度分析】
文章图片
推荐阅读
- 爱小楠聊科技|三者缺一不可,手机拍照的未来在哪里?CMOS、芯片和算法
- 少年帮|新氧升级算法加强人工审核规避黑产入侵,疫情加速消费决策线上化
- 驱动之家|没办法啊!,华为:数据存储芯片、算法都是自己做
- 科技小丸家|花粉:AI算法太爱了,华为最强黑科技神机!麒麟985+50倍数字变焦
- 驱动之家资讯|Waymo自动驾驶算法挑战赛结果出炉:中国企业地平线4项全球第一
- 科技生活大侠|R-CNN,识别迷雾中的物体,谷歌提出最新目标检测算法Context
- 科技实验室|不仅仅是画图,算法对建筑业的影响
- 影客网络科技|占全球搜索引擎八成市场,AI算法实在是太优化了,谷歌这是要逆天
- FreeBuf|图解利用虚函数过GS保护
- 『算法』面试常见问题jvm的调优思路
