我正在使用 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.