gpt4 book ai didi

java - 如何存储和搜索 'Banned Passwords'列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:41 25 4
gpt4 key购买 nike

我正在做一个项目,我需要一组密码限制,其中包括一个不允许使用的密码文件(所有常见密码,如“abc”、“abcdef”、“12345”、“密码”等等)密码文件将包含大约 10000-15000 个单词。

现在我想确保当用户设置/更改密码时,它不存在于列表中。我正在考虑在 Java 中使用字典(或 map )(桶为“A”、“B”、“C”....“Z”、“NUMBERS”、“SPECIAL_CHARS”),这样我就可以检查第一个字符,然后搜索相应的桶。但我不确定我能从中得到什么样的表现。

关于使用“禁止密码”列表的任何建议......还有其他需要注意的指示吗?

最佳答案

如果将“每个字母一个桶”的方法扩展到完整的字符串,您将以 trie 结尾,这看起来是解决这个问题的一个很好的结构,尽管我看不出不使用单个 HashSet 的原因(毕竟,验证成本几乎是恒定的,并且哈希集在应该存储密码的存储桶)。与使用单个集合相比,根据首字母拆分散列不会提高性能。

另一方面,如果您的实现是内存限制的,您可以避免存储一些被禁止的密码并进行规则引导的验证(例如,检查是否有 4 个连续的字符相差一个,如“ghij”,或者检查它们是否是键盘行的片段,例如“yuiop”)。每条规则将相当于多个禁用密码。

关于java - 如何存储和搜索 'Banned Passwords'列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287748/

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