破解 RANDOM隨機數

下列字符串 efbaf275cd、4be9c40b8b、44b2395c46、f8c8873ce0、b902c16c8b、ad865d2f63 是通過對隨機數變量RANDOM隨機執行命令: echo $RANDOM|md5sum|cut –c1-10 後的結果,請破解這些字符串對應的RANDOM值

解題思路:

  • 通過外層循環獲取對應數字的md5值
  • 內循環進行比對,如果md5值相同就打印對應的數字和md5值
  • 如果全部找到就退出外層循環,否則退出內層循環
[root@localhost bin]# cat getmd5.sh
#!/bin/bash

# "把字符串存入一個數組"
words=(
efbaf275cd
4be9c40b8b
44b2395c46
f8c8873ce0
b902c16c8b
ad865d2f63
)

count=${#words[@]}      #數組長度

for ((i=0;i<=32748;i++)); do
    md5=`echo $i | md5sum | cut -c1-10` 
    for word in ${words[*]}; do
        if [ "$md5" = "$word" ]; then
            echo $md5 $i
        let count--
        [ $count -eq 0 ] && break 2 || break    #計數器爲0則退出整個循環,否則退出當前循環
    fi
    done
done

############################################
[root@localhost bin]# ./getmd5.sh 
ad865d2f63 1000
b902c16c8b 3000
f8c8873ce0 6000
44b2395c46 9000
4be9c40b8b 12000
efbaf275cd 15000
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章