【发布时间】:2018-08-04 20:42:05
【问题描述】:
我正在尝试使用 Python2.7 进行密码学。我能够加密 - 解密一次文本。但是当我尝试在一个循环中多次加密-解密时,它不会返回变量 p 中的原始字符串。请看一下我的代码,并建议可以做什么。谢谢!
import os, random
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
'''Encryption'''
k = 'mykey'
hasher = SHA256.new(k)
k = hasher.digest()
p = 'enigmaticaura'
print p
IV = ''
lp = len(p)
for i in range(16):
IV += chr(random.randint(0,0xFF))
if len(p)%16 != 0:
p += ' '*(16 - len(p)%16)
enc = AES.new(k, AES.MODE_CBC, IV)
for i in range(2):
p = enc.encrypt(p)
print p
'''Decryption'''
dec = AES.new(k, AES.MODE_CBC, IV)
for i in range(2):
p = dec.decrypt(p)
#p = p[:lp]
print p
【问题讨论】:
-
那么,结果有什么问题?
-
您的问题描述没有帮助。你到底在期待什么?你到底得到了什么?
-
问题是解密后我无法得到原始字符串 p (='enigmaticaura')。也相应地编辑了问题。
-
请使用答案旁边的复选标记表示问题已解决
标签: python python-2.7 encryption cryptography pycrypto