首先,我认为理解数学密码熵是谨慎的。关于密码强度的 wiki是一个很好的起点,但简而言之,密码熵可能意味着在给定符号池的情况下可以猜出密码。
这既不是复杂性也不是“破解能力”,熵是互斥的,这两个概念都不是。
首先要了解熵很重要,因为它有两个要求:
符号数量
提供的符号数是每个符号的熵比特数的基线。单独的大写字母与包含小写符号的熵位不同。如果包含数字,则每个符号的熵会增加。添加的符号越多,每个符号获得的熵就越多,换句话说,符号池越大,每个符号的熵就越大。
符号长度
符号的长度很重要,因为每个添加的符号都会有效地使您的熵加倍。这就是为什么长度本身是密码安全中如此重要的概念。
什么是复杂性?
密码的复杂性是我们为强制密码的“随机性”而制定的规则。以下是基本规则:
这些对大多数人来说都很常见。网站一直在使用它来试图迫使人们进入随机性。然而,我们并不是随机的。这就是为什么攻击者可以使用字典攻击和预测算法来猜测密码的原因。
它超越了这一点,但包括安全措施,例如:
等等。
抗裂能力
这比这里的简单帖子要复杂得多。然而,这是一个有趣的话题(至少对我来说:))。破解能力是主观的,你需要理解的部分是你只能根据定义的规则集来衡量这个概念。(我想不出更好的词了,我不喜欢“破解能力”,但我很确定我明白你的要求)。
PCFG 发生器
根据您尝试使用 PCFG 定义的内容,它可能非常复杂。PCFG 的基础是,如果你给它输入一些东西,常用词、短语等,它提供了接下来可能选择什么的概率。您可以在日常生活中使用带有预测文本的智能手机看到这一点。(你有没有注意到,当你第一次开始使用它时,猜测很糟糕,现在它很擅长知道你要说什么?)
您可以输入通用密码,然后检查是否有人使用该密码。
对于您的项目,除非您试图评估一个人选择密码的可能性,否则我建议您查看其他内容。