1. 程式人生 > >根據QQ頭像hash分析QQ號(html版)

根據QQ頭像hash分析QQ號(html版)

昨天看網友求助,想根據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開頭的,