gpt4 book ai didi

mysql - AES_Decrypt() 返回空值

转载 作者:行者123 更新时间:2023-11-29 06:15:27 24 4
gpt4 key购买 nike

这里是 SQL 新手。我正在处理一个包含数据(longblob 类型)的表,它看起来像这样(导入到 phpMyAdmin 中):

table1

这些文件(显然)使用 AES_Encrypt() 进行了 AES 加密。我知道 key ID 为 2332 的文件的 key ,我想在那个“blahb”(blob)上调用 AES_Decrypt()。为此,我写了一个程序:

BEGIN
DECLARE dat longblob;
SELECT blahb into dat from fyle where keeid = p_id;
SELECT AES_Decrypt(dat, p_key) into p_out;
END

然后将它嵌入到 intp phpMyAdmin 中,如下所示: table3

但是,当我使用 keyid 2332 和已知密码调用它时,它只返回 NULL。

table4

我问这个问题是因为我想知道:我的存储过程是否正确?

因为如果是,我知道我认为正确的 key 实际上是错误的,或者我以错误的方式使用它。由于这是我第一次编写 SQL 过程,所以我不知道错误是在第一个原因还是第二个原因中:/。

(服务器数据:“服务器版本:10.1.10-MariaDB - mariadb.org 二进制分发版”,“Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.19”)

编辑:运行评论中的查询结果显然是一个 blob,但没有下载链接!然而,它确实大大简化了查询,我现在甚至不必为此创建过程。

enter image description here

最佳答案

你不需要一个过程来获得解密的 blob。改为在 select 语句中调用函数:

SELECT AES_Descrypt(blahb, 'PLACE_HERE_YOUR_KEY') from fyle where keeid = 2332

在 PHPMyAdmin 中将 blob 字段显示为 text 非常简单,并且已在 this question 中介绍。 .

关于mysql - AES_Decrypt() 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36142311/

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