gpt4 book ai didi

MYSQL| ENCODE() 输出 blob 而不是文本

转载 作者:行者123 更新时间:2023-11-29 22:09:16 27 4
gpt4 key购买 nike

我正在尝试通过 ENCODE() 函数对一个简单的字符串进行编码。使用字符串它给我文本作为输出。但使用一个字段它会给我 BLOB。如何绕过 BLOB 并输出编码字段的文本?

发生的情况是这样的:

SELECT ENCODE('myText,'myPw')
- 输出: baddade4b04e//目标 = This + using fieldname

从 myTable 中选择 ENCODE(Field,'myPw')
- 输出:[BLOB - 14B]

<小时/>

我尝试过的:

从 myTable 中选择 CAST(ENCODE(Field,'myPw') AS CHAR(1000) 字符集 utf8)
- 输出:空行!

从 myTable 中选择 CONVERT(ENCODE(Field,'myPw') USING utf8)
- 输出:%(输出为1-2个字符,不可能是正确的)

假设我有一个列user。现在,无论我是对字符串“PaulPeter”进行编码,还是对值为“PaulPeter”的字段 user 进行编码,我都希望对“PaulPeter”进行相同的编码。

谁能给我解释一下吗?非常感谢!

加密字符串:

Encrypted string

加密字段:

Encrypted field

MySQL 客户端版本:5.5.41
用户:文本utf8_bin

<小时/>

编辑:

根据这里的解码,我遇到了另一个问题:Click
能够编码后,我在 AES_Encryption 中遇到了同样的问题。当我加密字符串时,我得到字符串形式的输出。当使用字符串值加密字段时,我得到了 blob。 :( 非常烦人。

最佳答案

您的用户列的类型为 TEXT。尝试将该列强制转换为 CHAR:

SELECT AES_ENCRYPT(CAST(Field AS CHAR(1000)),'myPw') FROM myTable

关于MYSQL| ENCODE() 输出 blob 而不是文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31847954/

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