Java 找出破解密码的组合数?

Java 找出破解密码的组合数?,java,.net,passwords,Java,.net,Passwords,你如何计算一个人破解一个密码需要多少组合? 假设密码是: “输入1” 字符=26+26+33+10=95 有没有办法计算组合的数量? 我目前只使用95^a-a作为密码长度。。。这是一个精确的公式吗?这取决于您是否知道密码的长度。如果它在原则上是无界的(例如,任何长度都是可能的),那么就有无限的可能性 如果知道长度为N,则只需确定一个位置可以取多少值。我猜你已经知道了:26代表小写字母,26代表大写字母,10代表数字,33(代表特殊字符?)。在你的例子中,这加起来是95,然后组合的数量是95^N。

你如何计算一个人破解一个密码需要多少组合? 假设密码是: “输入1” 字符=26+26+33+10=95

有没有办法计算组合的数量?
我目前只使用
95^a
-a作为密码长度。。。这是一个精确的公式吗?

这取决于您是否知道密码的长度。如果它在原则上是无界的(例如,任何长度都是可能的),那么就有无限的可能性


如果知道长度为N,则只需确定一个位置可以取多少值。我猜你已经知道了:26代表小写字母,26代表大写字母,10代表数字,33(代表特殊字符?)。在你的例子中,这加起来是95,然后组合的数量是95^N。因此,你的假设是正确的。

你需要考虑的是基础数学和初等数学。想一想每个角色开始的可能性。是的,有一种方法。这叫做组合数学。我没有遵循你的95-逻辑。查看维基-没有返回任何公式,只是理论。这个问题似乎离题了,因为它是关于初等数学的。是的,这是一个理论性很强的话题,但这是维基百科的数学版。您可能希望找到更简单的方法。谢谢您的确认;)@user3422952-请注意,95是基数而不是指数,Mark写得正确
95^n
,但在您的示例中,您写的
n^95
是错误的。