当前位置: 首页 > 知识库问答 >
问题:

使用pyCrypto[duplicate]加密Python中的用户输入

柯苗宣
2023-03-14

我试图在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个答案

鲁城
2023-03-14

AES是一种分组密码算法,因此它要求文本为16字节的倍数。您的消息“答案是否定的”有16个字节。但是输入不是这样的,因此您可以使用AESMOD_CFB来解决这个问题。

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)

这将适用于用户输入。

有关IV(初始化向量)的更多信息,请访问此处

 类似资料:
  • 问题内容: 我今天刚找到pycrypto,并且一直在研究AES加密课程。不幸的是,它只能成功一半。self.h.md5以十六进制格式输出md5哈希,并且为32byte。这是输出。似乎是对消息进行了解密,但是它在解密后放置了随机字符,在这种情况下,是\ n \ n \ n …我认为self.data的块大小有问题,有人知道如何解决此问题吗? Jans-MacBook-Pro:test2 jan $

  • 问题内容: 我之所以写这个问题+答案,是因为我挣扎了很多(也许是因为缺乏经验),并迷失了使用node或python进行加密/解密的许多不同方式。 我以为我的案子将来可以帮助人们。 我需要做的是: 从表单获取数据,使用Crypto(node-js)对其进行加密 在Python中传递加密的数据,然后使用PyCrypto将其解密。 我选择使用AES加密。 这是我的开始方式(我不会尝试的所有事情): 我遵

  • 问题内容: 我正在尝试使用PyCrypto构建两个接受两个参数的函数:消息和密钥,然后对消息进行加密/解密。 我在网络上找到了几个链接可以帮助我,但是每个链接都有缺陷: 在codekoala上的此代码使用了os.urandom,PyCrypto不建议这样做。 此外,我不能保证给函数的键具有预期的确切长度。我该怎么做才能做到这一点? 另外,有几种模式,推荐哪种?我不知道该怎么用:/ 最后,IV到底是

  • 我试图使用PyCrypto构建两个函数,它们接受两个参数:消息和密钥,然后加密/解密消息。 我在网上找到了几个帮助我的链接,但每一个都有缺陷: 编辑:删除了代码部分,因为它不安全。

  • 作为一个自学练习,我正在尝试学习如何使用一些pycrypto库。我需要使用AES在CBC_模式下解密密文字符串。I密文、密钥和IV都已给出。以下是我编写的代码: 当我运行这个,我得到以下错误: ValueError:IV的长度必须为16字节 我知道IV字符串是32个十六进制字符,因此是16个字节。我认为这可能是一个打字问题,但我不知道如何纠正它。有人能帮忙吗? 非常感谢。

  • 本文向大家介绍Python使用PyCrypto实现AES加密功能示例,包括了Python使用PyCrypto实现AES加密功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用PyCrypto实现AES加密功能。分享给大家供大家参考,具体如下: PS:关于加密解密感兴趣的朋友还可以参考本站在线工具: 文字在线加密解密工具(包含AES、DES、RC4等): http://t