分享編寫shell腳本暴力破解md5的方法
方法一
單個破解法(以10位數為例)
#!/bin/bash
read -p “please input strings:”
string
for n in {0..33000}
do
Md5=`echo $n |md5sum|cut -c 1-10`
if [ “${Md5}” == “$string” ]
then
echo “$n is sure”
exit
else
echo “$n is no”
fi
done
但是效率很低,不太建議使用。很費時間,匹配時每個都要匹配一遍,匹配下一個,又要從新開始…效率低。
方法二
類似于密碼表的對照方法,首先生成密碼表,然后在匹配。這樣效率大大提升
首先生成密碼表,編寫腳本,內容如下(總生成了33000個隨機數,如果需要,可以自行調節,增加或者減少,同樣,隨機數位數也可以調整)
#!/bin/bash
for i in `seq 1 33000`#可以調整生成數的個數
do
a=`echo $i|md5sum|cut -c 1-10`#可以調整生成數的位數
echo $i $a >> byq.db
done
生成后可以使用,匹配腳本如下,輸入隨機字符串即可
#!/bin/bash
read -p “please input some
strings:” n
echo `grep $n byq.db`|cut -d ” ”
-f1
以上內容僅供參考,比較淺顯的破解方法,適合我這種初學的人,若是有更好的方法,歡迎各位大神交流指正!
原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/71773