随机数的md5值,反推原值"/>
shell小技巧(十)已知随机数的md5值,反推原值
已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果,反推这些字符串对应的md5sum前的RANDOM对应数字
思路:
已知random的范围(0-32767),通过遍历讲计算结果截取前8位与目标值做比对。(最差结果全部计算一遍并比对,得到结果)
以下代码来自互联网,但做了改进。红色部分是修改修改过的部分。
#!/bin/bash
a=(21029299
00205d1c
a3da1677
1f6d12dd)
j=0
for n in {0..32767}
do
random=`echo $n | md5sum | cut -c 1-8`
for((i=0;i<=${#a[@]};i++))
do
if [ "$random" == "${a[i]}" ];then
echo "$n" "${a[i]}"
let j++
fi
done
if [ $j -eq ${#a[@]} ]; then
echo "complete!"
break;
fi
done
改进的部分说明:
当4个结果已经对比成功后,之后的计算已经没有意义,应立即结束。
更多推荐
shell小技巧(十)已知随机数的md5值,反推原值
发布评论