彩虹 table 与 Bash

Rainbow table with Bash

我正在考虑循环遍历 2 个文件以在 bash 中创建彩虹 table,但我在语法方面遇到了问题。我有 2 个文本文件,1 个 filename 包含常用密码列表,saltList 包含一小部分密码列表。目前,该脚本将执行但永远不会停止(我 运行 昨天大约 3-4 小时)。我这样做正确吗?我检查了 rainbowCracker.txt 文件,里面有值 $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