gpt4 book ai didi

mysql - 解密mysql中用CryptoJS加密的AES

转载 作者:行者123 更新时间:2023-11-29 15:37:59 25 4
gpt4 key购买 nike

在我的数据库中,我有一列以这种形式存储 cryptojs 加密值:

U2FsdGVkX1/BpEUjr5y+hivlNpUep+HZQG4Tw8bmTvQ=

当我用 cryptojs 解密它时,一切都很好。

let decryptedValue = cryptoJS.AES.decrypt(
encryptedField,
secretKey
);

但是用mysql解密返回null。

我尝试将加密字符串转换为二进制,然后使用 mysql 的 aes_decrypt() 对其进行解密,但它返回 null。

SELECT convert(AES_DECRYPT(binary(encrypted_field),'secret_key') using utf8) as decrypt

加密的值是数字,我需要解密它们以便在 mysql 中用它们进行一些计算。

我不知道我的解密方式是否有问题,或者 cryptojs 和 mysql 使用 AES 加密和解密的方式是否不同。

提前谢谢您。

最佳答案

您的初始字符串似乎是Base64 编码的cryptoJS.AES 或其他进程可能会获取加密字节并将其作为 Base64 存储在数据库中。

您的数据库解密例程可能假设原始字节,因此您需要将Base64字符串(检查网络上的mysql的base64例程)转换为实际字节,然后将它们传递给AES_DECRYPT 函数。

关于mysql - 解密mysql中用CryptoJS加密的AES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58025741/

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