python - 访问哈希密码字典平均最快的方法是什么?

标签 python security hash password-encryption password-hash

我目前正在用 Python 编写一个密码破解程序,并正在考虑根据下载的单词列表搜索密码哈希字典的最佳策略。

诸如 rockyou 之类的密码列表是按照最常见的密码排序的,因此我最初的方法是按顺序搜索字典,以防我尝试破解的哈希对应于一个非常常见的密码,即在列表的顶部。但是,我认为对于不太常见的密码,这种线性搜索可能需要很长时间,因此我正在考虑实现二进制搜索。总体而言,这会更快,还是平均而言,线性搜索会更快(假设许多密码将位于列表顶部?)

对前 100 个左右的密码进行线性搜索,如果找不到则切换到二分搜索,这是否是一个明智的策略?

最佳答案

我完成此任务的方法与您首先检查最常用的密码相同。其大小将取决于数据库的大小,这里不会错过一些尝试和错误,因为正确的数字将取决于随 secret 码的程度。

对于完整搜索,我会搜索排序哈希值,因为这通常是最快的。

Why is processing a sorted array faster than processing an unsorted array?

关于python - 访问哈希密码字典平均最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60168389/

相关文章:

Python - 如何从扩展命名空间导入父包

PHP 如何启动安全 session

java - 使用 AD 凭据输入表单字段而不是浏览器集成身份验证窗口的不良做法?

python - 使用模板构造md5哈希算法

python - 将 GSL(或其他库)静态链接到共享库

python - 如何计算 tar 文件中每个文件的 shasum

security - 如何在AWS中设置堡垒主机或Jumpbox?

ruby - 如何更新哈希的所有键?

php - 使用返回 0 的查询行比较 mysql 密码哈希(不工作)

python - 当if语句为真时如何停止迭代?