昨天看网友求助,想根据QQ头像的文件名找回QQ号,他发了一个链接https://my.oschina.net/alex001/blog/481078,是java写的代码。原来QQ头像的文件名就是MD5(MD5(MD5(QQ号)+QQ号)+QQ号)这样一个规则,其中MD5这个函数是对QQ号的MD5加密,结果是32位大写的MD5码
我想着,还是让网友自己跑吧,他可能没有java环境,所以我根据上述博文写了一个html版。
代码很简单
<html>
<head>
<script src="https://cdn.bootcss.com/blueimp-md5/2.11.0/js/md5.min.js"></script>
</head>
<body>
</body>
<script>
var x=9999999999;//起始的QQ号,计算是向下递减的
function calc(){
var i=0;
for(;i<100000;i++){
var qq=x-i;
if(md5(md5(md5(qq+"").toUpperCase()+qq).toUpperCase()+qq).toUpperCase()=="你的QQ头像hash"){
alert(qq);
}
}
x=x-i;
document.write(x+"<br />");
setTimeout(calc,50);//用setTimeout防止网页卡死
}
calc();
</script>
</html>
如果知道QQ是几位的,或者知道开头的数字,可以将起始的QQ号调整一下,比如是8位的,就可以写8个9;或者QQ号是8位并且是5开头的,可以写5加7个9。