Shell脚本范例(十九)——破解RANDOM随机数

本文分享常用的一些Shell脚本的例子,这是第十九篇——破解RANDOM随机数。

要求:已知下面的字符串是RANDOM随机数变量经过md5sum处理后,再截取一部分连续字符串的结果,请破解这些字符串在使用md5sum处理前所对应的数字。

21029299
00205d1c
a3da1677
1f6d12dd
890684b

参考:

#!/bin/bash
#Author: Oliver King
#Blog: http://www.oliver.ren

array=(
21029299
00205d1c
a3da1677
1f6d12dd
890684b
)

Path=/tmp/md5.txt
Num=0

function GetMd5(){
    [ -f "$Path" ] || touch $Path
    rowNum=$(wc -l < $Path)
    if [ $rowNum -ne 32768 ]
    then
        > $Path
        for ((Num=0;Num<=32767;Num++))
        do
            {
                Stat=$(echo $Num|md5sum|cut -c 1-8)
                echo "$Stat $Num" >> $Path
            } &
        done
    else
        return 0
    fi
}

function FindMd5(){
    word=$(echo "${array[@]}"|sed -r 's# |\n#|#g')
    grep -E "$word" $Path
}

function Main(){
    GetMd5
    FindMd5
}

Main

标签: none