这个问题可能比较简单,但我给了两个文本文件.一个文本文件包含通过python中的crypt.crypt加密的所有加密密码.另一个列表包含超过400k +普通词典单词.
赋值是给定3个不同的函数,它们将字符串从正常情况转换为大写的所有不同排列,将字母转换为数字(如果它看起来相似,例如G - > 6,B - > 8),并反转一个字符串.问题是,鉴于密码文件中有10到20个加密密码,在python中获得运行速度最快的解决方案的最有效方法是在单词文件中的字典单词上运行这些函数吗?假设所有这些单词在以任何方式转换时都会加密到密码文件中的密码.
以下是检查给定字符串在加密时是否与传入的加密密码相同的函数:
def check_pass(plaintext,encrypted):
crypted_pass = crypt.crypt(plaintext,encrypted)
if crypted_pass == encrypted:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
提前致谢.
在不了解底层哈希算法的详细信息以及该算法可能存在的弱点的情况下,您所能做的就是运行暴力攻击,尝试对密码列表中的单词进行所有可能的转换。
加速这种暴力攻击的唯一方法是获得更强大的硬件并拆分任务并并行运行破解程序。