我正在尝试使用python编写一个简单的加密功能。每次运行它时,我都会收到一条错误消息,提示“未定义加密”,但确实如此。关于此功能为什么不起作用,请问我能得到一些帮助。非常感谢!!!这是代码:
from Crypto.Cipher import AES
import base64
import os
def encryption (privateInfo):
BLOCK_SIZE = 16
PADDING = '{'
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING
EncodeAES = lambda c, s: base64.b64encode(c.encrypt (pad(s)))
secret = os.urandom(BLOCK_SIZE)
print 'encryption key: ', secret
cipher = AES.new(secret)
encoded = EncodeAES(cipher, privateInfo)
print 'Encrypted string: ', encoded
我得到的错误消息是:
>>> encryption('secret message that nobody should read')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
encryption('secret message that nobody should read')
NameError: name 'encryption' is not defined
答案 0 :(得分:0)
我很确定您在语法上遇到的问题是您正在使用print
,如下所示:
print 'something'
虽然在Python 2中可以,但在python 3中则没有,因此,如果您使用python 3,则需要使用括号:
print('something')
或者如果您想添加一些内容:
print('key', 'hello')
print('key: %s' %(4))
print('secret: {}, key: {}'.format('lol', '$'))
哪个输出:
keyhello
key: 4
secret: lol, key: $