Crunch を使用して、8 文字のすべての組み合わせを含む辞書を作成しています。56 TB のスペースが必要なため、しばらくすると辞書の作成が停止しました。
これをどうすれば修正できますか?
答え1
そうですね。8文字の組み合わせすべてで実行すると、
(26 * 2) ^ 8 * 8 = 427677828251648
文字です。これは約389TBのスペースです(圧縮なし)。生成しようとしている辞書が大きすぎます。これを減らすには、
- 文字セットを制限するか、
- パスワードの長さ
あるいは、問題を制限する(ただし解決はしない)には、
- オプションで圧縮する
-z
(ランダムな文字列を圧縮するのはあまり効率的ではないので、これではほとんど役に立ちません) -d
またはオプションを使用して重複を制限します-p
。- 出力を複数のファイルに分割する(を参照
-o START
)
抜粋man 1 crunch
:
-z gzip, bzip2, lzma, and 7z
Compresses the output from the -o option. Valid parameters are
gzip, bzip2, lzma, and 7z. gzip is the fastest but the compression
is minimal. bzip2 is a little slower than gzip but has better
compression. 7z is slowest but has the best compression.
-d numbersymbol
Limits the number of duplicate characters. -d 2@ limits the lower
case alphabet to output like aab and aac. aaa would not be
generated as that is 3 consecutive letters of a. The format is
number then symbol where number is the maximum number of consecutive
characters and symbol is the symbol of the the character set
you want to limit i.e. @,%^ See examples 17-19.
-p charset OR -p word1 word2 ...
Tells crunch to generate words that don't have repeating characters.
By default crunch will generate a wordlist size of
#of_chars_in_charset ^ max_length. This option will instead
generate #of_chars_in_charset!. The ! stands for factorial.
For example say the charset is abc and max length is 4.. Crunch
will by default generate 3^4 = 81 words. This option will instead
generate 3! = 3x2x1 = 6 words (abc, acb, bac, bca, cab, cba).
THIS MUST BE THE LAST OPTION! This option CANNOT be used with
-s and it ignores min and max length however you must still specify
two numbers.