gpt4 book ai didi

passwords - 是否有检查密码强度的现有算法?还是重新发明轮子?

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

我一直在考虑开发一个 Android 应用程序,它会告诉用户输入密码的密码强度。
在检查密码强度方面,我开发了这两种算法来检查它。但是我正在考虑使用这些算法,因为我认为它效率不高。
你们有什么感想?
这是我的 2 个算法:
平均法

Sample input = Password12@

1. Count the lowercase, uppercase, digits and special characters in the given String.
Eg.
Lowercase count = 7;
Uppercase count = 1;
Digits count = 2;
SpecialCharacter count = 1;

2. Get the character count and multiply it to the size of given String.
Eg.
(Count * Size)
(7 * 10) = 70
(1 * 10) = 10
(2 * 10) = 20
(1 * 10) = 10

3. Add the following results
Eg.
70 + 10 + 20 + 10 = 110

4. Get the results which is the password strength.
Eg.
The password is 110% strong.
积分法
Sample input = Password12@

1. Set the points such that for every:
Lowercase = 1 point given
Uppercase = 5 points given
Digits = 10 points given
Special Character = 15 points given

2. Count the lowercase, uppercase, digits and special characters in the given String.
Eg.
Lowercase count = 7;
Uppercase count = 1;
Digits count = 2;
SpecialCharacter count = 1;

3. Get the character count and add it to the given point and multiply the size of the given String.
Eg.
(Count + Point) * size
(7 + 1) * 10 = 80;
(1 + 5) * 10 = 60;
(2 + 10) * 10 = 120;
(1 + 15) * 10 = 160;

4. Add the following results and divide it to the size of given String and divide it by 4.
Eg.
//4 because count={uppercase, lowercase, digits, special character}
80 + 60 + 120 + 160 = 420
420 / 4 = 105

5. Get the result which is the pswword strength.
Eg.
The password strength is 105%.
我的问题是:
  • 哪个算法表明具有更好的实现?
  • 如果给定的 2 个算法效率低下,是否有现有的算法可以用来检查给定密码的强度。不是这样的,重新发明轮子。
  • 最佳答案

    开源密码强度检查器的链接:

    https://github.com/dropbox/zxcvbn

    我没用过,只是在谷歌上找到的,看看。

    您的算法似乎不能很好地完成工作。

    第一个可以表示为字符数n^2,字符的种类没有区别。

    第二个类似,它仍然不代表你输入什么样的字符,因为点在等式中只构成一个常数项:
    (d + 10) * 10 = d * 10 + 100(数字)。它不是更好,它只是显示了更大的分数。

    这两种算法产生的数字大致是密码长度的平方,而破解它的时间(或强度)更多地取决于长度的指数。

    查看编码恐怖中的这篇文章:http://blog.codinghorror.com/your-password-is-too-damn-short/

    破解随 secret 码的时间(来自文章):

    • 9 characters 2 minutes
    • 10 characters 2 hours
    • 11 characters 6 days
    • 12 characters 1 year
    • 13 characters 64 years

    The random.org generator is "only" uppercase, lowercase, and number

    关于passwords - 是否有检查密码强度的现有算法?还是重新发明轮子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32439453/

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