gpt4 book ai didi

mysql - 将 AESCipher 对象存储在 mySQL 中

转载 作者:行者123 更新时间:2023-11-29 18:04:45 27 4
gpt4 key购买 nike

我正在使用 Crypto.Cipher AES 加密一些用户数据(无密码)。

返回的是以下形式的 AESCipher:

b'o\xab\xdd\x19\xaat\xfcIAN\xd2\x00\xe9'

有时它会产生空格和非十六进制表示。

b"N%?\x91\xe8'J\xc0\x10 p"

b'QV8>K\xd8\xfa\x9a\x05%\xe8LJp\xd0gf'

当我尝试将这些值插入到创建的 SQL 表中时:

data_encrypted VARBINARY(40)

我收到以下警告:

Warning: (1300, "Invalid utf8 character string: 'ABDD19'")

似乎正在修剪二进制数组,当我查询表中插入的行时,该行已有效插入,但仅插入了数组的第一个字节,来自 b'o\xab\xdd\x19\xaat\xfcIAN\xd2\x00\xe9' 它仅插入“o”。

我必须在格式中指定其他内容吗?

谢谢

最佳答案

添加 _binary 解决了警告self.cur.execute("插入忽略成员值(%s,_binary %s...

我还将数组格式化为十六进制表示,它在 MySQL 表中看起来更好,并且解密仍然可以正常 binascii.b2a_hex

关于mysql - 将 AESCipher 对象存储在 mySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com