如何在python中使用dic来搜索值并获取密钥?

时间:2016-04-13 18:51:26

标签: python

  

嗨,我是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()

1 个答案:

答案 0 :(得分:-1)

这是一个迭代,它将为您提供包含相同值的密钥对列表。它作为列表理解完成,所以它更加pythonic

[(key1, key2) for key1, value1 in dicKeyEnc.items() for key2, value2 in dicKeyDec.items() if value1 == value2]