使用Bash的彩虹表



我正在寻找通过2个文件在bash中创建一个彩虹表的循环,我在语法上遇到了麻烦。我有两个文本文件,一个filename有一个常用密码列表,saltList有一个小的密码列表。目前,脚本将执行,但从未停止(我昨天运行了大约3-4小时)。我这样做对吗?我检查了rainbowCracker.txt文件,它有$1$fa7eb627$NRWF9wGqdr4rjHmrxmxI80的值,但它似乎永远不会停止。

saltList=$(tr ' ' 'n' < ${saltFile})
for line in $filename; do
for salt in $saltList; do
openssl passwd -1 -salt $salt $line >> rainowbowCracker.txt
done
done

在bash中循环行的惯用方法是使用while结构:

试试这个:

while read a; do
while read b; do 
echo $a $b
done < saltlist.txt
done < passwords.txt

另一种方法是首先将所有内容读入内存。如果文件足够小,则此方法有效:

salts=($(< salts.txt))
for s in ${salts[@]}; do
echo $s
done

最新更新