【发布时间】:2010-05-24 08:37:15
【问题描述】:
这个问题可能比较简单,但是给了我两个文本文件。一个文本文件包含通过 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
提前致谢。
【问题讨论】:
-
return crypted_pass == encrypted -
return encrypted == crypt.crypt(plaintext,encrypted)