gpt4 book ai didi

security - howsecureismypassword.com 算法

转载 作者:行者123 更新时间:2023-12-04 10:04:55 26 4
gpt4 key购买 nike

有一个不错的网站http://www.howsecureismypassword.net/这决定了破解密码需要多长时间。

我想要的是实现这样的功能,所以我需要一个算法

最佳答案

了解常见的密码攻击向量将使您了解如何进行计算。当我们需要一个数字时,假设台式计算机每秒可以检查 40 亿 (4x109) 个密码,这看起来是 about right .

重要的是要意识到攻击者很少试图仅破解您的密码。相反,他们将拥有大量帐户的用户 ID,并且他们想尝试破解尽可能多的用户 ID。因此,他们将大部分时间投入到破解简单的密码上,而不是为难的密码烦恼是值得的。

0. 非常明显的攻击

尝试输入用户 ID 作为密码。令人惊讶的是,有多少人这样做。您的密码可立即破解。

1.字典攻击

这很简单。攻击者只需要保留(比如)106 个最常用密码的列表,并检查每个密码一次。这可以在一秒钟内完成。如果您的密码在最常用密码列表中,那么它几乎可以立即被破解。

2. 蛮力

如果您的密码不在字典中,那么另一种选择是使用蛮力。使用此方法破解密码所需的时间取决于 (a) 密码的长度,以及 (b) 包含密码的符号集。一般公式是

timeTaken = (sizeOfSymbolSet ^ passwordLength) / (4*10^9)  # (seconds)

例如,如果您的密码仅由小写字母组成,则符号集的大小为 26。以下是破解您的密码可能需要多长时间作为其长度的函数的列表:
Length Time
4 0.1 millisecs
6 0.1 seconds
8 1 minute
10 10 hours
12 9 months

如果您使用所有小写和大写字母、数字和符号,则符号集接近 100。相应地,破解密码需要更长的时间:
Length Time
4 25 millisecs
6 4 minutes
8 28 days
10 800 years
12 8 million years

不过,不要太自满! 800 万年的数字假设您随机选择 12 个字母、数字和符号作为密码,即您的密码类似于
t8Qkx#rxZAM@
%Kuc;p8WHmFU
xDE!XE$rLGh4
KJdx2K8BS33K
HTaeCc&t46L;

有多少人有这样的密码?

3. 组合方法

这依赖于独创性和蛮力的结合。它是前两种方法的混合体,依赖于常见的“密码约定”而不是常见的密码。

例如,许多人的密码形式为“字典单词后跟数字”。牛津英语词典大约有 2x105 个单词,因此要生成“词典单词后接数字”的所有组合,大约需要 200 万个不同的密码,可以在不到一秒钟的时间内再次轻松检查。

其他常见的比喻包括用外观相似的符号替换字符- o0 , l1 , a@等等。一旦你有了一个字典单词列表,生成所有这些替换就很简单了。猜测一下,您可能会将列表的长度增加 1000 倍,这仍然可以在一秒钟内检查。

我的猜测是该站点使用了部分或所有这些方法的组合来计算破解密码需要多长时间。

关于security - howsecureismypassword.com 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12578851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com