本文介绍了逻辑来选择从笛卡尔集一组特定的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在做一个密码暴力破解工具,作为一个学习锻炼,我希望它是可恢复的。
所以,我要的是要能够说,这是一组可能的字符,如果我计算笛卡尔集此每个可能的组合的设置长度为n,什么是该组点x
不过,我想这样做,不计算整个集合。我已经看到了同样的逻辑在一个地方在线,但我无法推广为适应。
任何帮助将是非常美妙的,谢谢!我很精通C#有没有什么帮助。
编辑:这是我刚才提到的问题:的
编辑:这里是我的意思的例子:
字符集= [ ABCD]
长度为n = 4
置换:
[AAAA]
[AAAB]
[AAAC]
〔AAAD]
[AABA]
....
[DDDD]
所以,如果我在4搜索的集合,我会得到[AAAD。但是,如果我在寻找7000元,那么它需要较长的时间才能到这一点。
解决方案
这实现了回答您链接的问题:
静态字符串获取(串字符,整数N,int i)以
{
串RET =;
INT尺寸= 1;
为(INT J = 0; J< N; J ++){$ B $ B RET =字符[(I /尺寸)%chars.Length] + RET;
尺寸* = chars.Length;
}
返回RET;
}
例如:
字符串的字符=ABCD;
INT N = 3;
的for(int i = 0; I< Math.Pow(chars.Length,N);我++)
Console.WriteLine(我+\t+获取(字符,N,I));
这篇关于逻辑来选择从笛卡尔集一组特定的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!