嗨,我是python的新手。我想在中间的攻击中做一次见面(a 大学的任务)这是我的情况。我有5个文件 Plaintext.txt = xxxx EncText.txt = yyyy files_description
我想找到一对密钥,考虑到一个字符串 encPlain.txt在decCipher.txt
中必须相同我在python的字典中添加了这个值,我有这个 Encryption_Dictionary {' 18CBA6E':' D007603A0DAD6E41',' 18CBA76':' DC568DC3F8674D70'} Dec_Dictionary {' 18CBA7B&#39 ;:' 4D7C2E7879E0E8EA', ' 18CBA6C':' 44F58706BEC4B043'}
如何比较这两个字典的值才能获得 如果这两个字符串相等的那么一对键?对不起,我的 这是我现在的代码。
import sys
dicKeyEnc = {}
dicKeyDec = {}
def main():
with open(sys.argv[1],'r') as key,
open(sys.argv[2],'r') as encPlain,
open(sys.argv[3],'r') as decCipher:
for i,j,k in zip(key,encPlain,decCipher):
i = i.strip()
j = j.strip()
k = k.strip()
dicKeyEnc[i]=j
dicKeyDec[i]=k
print (dicKeyEnc)
print ("\n")
print (dicKeyDec)
main()
答案 0 :(得分:-1)
这是一个迭代,它将为您提供包含相同值的密钥对列表。它作为列表理解完成,所以它更加pythonic
[(key1, key2) for key1, value1 in dicKeyEnc.items() for key2, value2 in dicKeyDec.items() if value1 == value2]