破解 RANDOM随机数

下列字符串 efbaf275cd、4be9c40b8b、44b2395c46、f8c8873ce0、b902c16c8b、ad865d2f63 是通过对随机数变量 RANDOM随机执行命令: echo $RANDOM|md5sum|cut –c1-10 后的结果,请破解这些字符串对应的RANDOM值


解题思路:
  • 通过外层循环获取对应数字[0,32767]的md5值
  • 内循环进行比对,如果md5值相同就打印对应的数字和md5值
  • 如果全部找到就退出外层循环,否则退出内层循环
[root@localhost bin]# cat getmd5.sh
#!/bin/bash

# "把哈希值存入一个数组"
words=(
efbaf275cd
4be9c40b8b
44b2395c46
f8c8873ce0
b902c16c8b
ad865d2f63
)

count=${#words[@]}      #数组长度

for ((i=0;i<32768;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

转载于:https://blog.51cto.com/1012682/2374930

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值