使用pyCrypto在Python中加密用户输入

时间:2016-03-04 05:28:32

标签: python encryption cryptography pycrypto

我正在尝试在Python中进行基本加密,在下面的程序中我加密了所有用户类型,然后我在解密后将它显示回用户。我正在使用我从这里下载的pyCrypto库:http://www.voidspace.org.uk/python/modules.shtml#pycrypto

以下是我到目前为止编写的代码:

from Crypto.Cipher import AES

AES_key = AES.new('This is a key')
#message = "The answer is no"
message = input("Enter text:")

ciphertext = AES_key.encrypt(message)
print (ciphertext)

decrypted_message = AES_key.decrypt(ciphertext)
print (decrypted_message)

问题是当我从用户那里获取输入时,我的代码不起作用,但是当我提供静态输入时,我评论的代码工作正常。

任何人都可以帮助我做什么,以便我接受用户输入并加密它?

1 个答案:

答案 0 :(得分:0)

AES是一种分组密码算法,因此它要求您将文本设置为16字节的倍数。您的消息"The answer is no"是16个字节。但输入不会是这样 您可以使用MOD_CFB的{​​{1}}来解决此问题。

AES

这适用于用户输入。

有关from Crypto.Cipher import AES # Encryption encryption_suite = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456') cipher_text = encryption_suite.encrypt("A really secret message. Not for prying eyes.") # Decryption decryption_suite = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456') plain_text = decryption_suite.decrypt(cipher_text) (初始化向量)的更多信息,请转到Here