python-3.x - 获取异常:对象类型不能传递给 C 代码
问题描述
我在 Python 3.7.2 上安装pip install pycryptodome 。我遇到了obj = AES.new(key, AES.MODE_CBC, iv)行的异常。我的代码是:
from Crypto import Random
from Crypto.Cipher import AES
import random
def get_encryption():
try:
str = "This is input string"
key = b'abcdefghijklmnop'
iv = Random.new().read(AES.block_size)
obj = AES.new(key, AES.MODE_CBC, iv)
encrypted = obj.encrypt(str)
print(encrypted)
except Exception as e:
print(e)
我一直尝试但没有得到解决方法。
解决方案
在尝试了所有方法后,我得到了解决方案。我将密钥字符串转换为字节。代码是:
from Crypto import Random
from Crypto.Cipher import AES
import random
def get_encryption():
try:
strmsg = "This is input string"
key = 'abcdefghijklmnop'
key1 = str.encode(key)
iv = Random.new().read(AES.block_size)
obj = AES.new(key1, AES.MODE_CBC, iv)
encrypted = obj.encrypt(str.encode(strmsg))
print(encrypted)
except Exception as e:
print(e)
推荐阅读
- jmeter - http2 插件不适用于摘要报告
- linux - 如何命名具有破折号的挂载单元文件
- android - 每 60*1000 毫秒调用一次 API
- oracle - TypeORM 从 PACKAGE 中的 STORED PROCEDURE 获取 DBMS_OUTPUT.PUT_LINE() 的值
- c# - 无法将 html 代码附加到现有元素中,得到 [object HTMLElement],不是真正的代码
- python - Pygame显示窗口立即打开和关闭
- google-sheets - 如何找到工作表上带有某个单词的所有单元格并将它们放在另一列中?
- ios - 视图消失后 UISegmentedControl 取消选择/重置
- sharepoint - SharePoint 扩展命令集
- if-statement - 脱离嵌套 if