我自己不喜欢这种工具,但人们说它在破解密码时最快破解密码,但我的兴趣不是破解密码,我需要生成强力数据的算法,如“AA ,AB,AC,...... ZA“,但我似乎无法在源头找到它,任何人都可以告诉我它会是什么样的,或者我应该在源头找到它?
或者是否有人知道根据给定字符集生成这些字符串的良好且快速的算法? 像
char *charset1 = "abcdefghijklmnopqrstuvwxyz";
char *charset1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *charset1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ........
感谢。
答案 0 :(得分:1)
打破你的问题。
现在考虑治疗,例如AAA - ZZZ,打印基本26中所有可能的3位数字(或者你的字符集中有很多字符)的问题
John the Ripper开始使用不同的技术,内置字典:
密码
密码
PASSW0RD
PASSW0RD
等。
ETA:以下是两个字符版本AA - ZZ的示例代码。我的C非常生疏,所以这个片段是Java:
// Character set
String charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int cSetSize = charset.length();
// Two character strings AA - ZZ
int numChars = 2;
int limit = cSetSize * cSetSize;
char[] result = new char[numChars];
// Build strings
for (int i = 0; i < limit; ++i) {
// Convert i to base cSetSize
int current = i;
for (int j = numChars - 1; j >= 0; --j) {
result[j] = charset.charAt(current % cSetSize);
current /= cSetSize;
}
// Do something with string
System.out.println(new String(result));
}