首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解密用CryptoJS加密的mysql中的AES

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

Stack Overflow用户
提问于 2019-09-20 17:37:25
回答 2查看 449关注 0票数 1

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

U2FsdGVkX1/BpEUjr5y+hivlNpUep+HZQG4Tw8bmTvQ=

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

代码语言:javascript
复制
let decryptedValue = cryptoJS.AES.decrypt(
    encryptedField,
    secretKey
 );

但是用mysql解密它会返回null。

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

代码语言:javascript
复制
SELECT convert(AES_DECRYPT(binary(encrypted_field),'secret_key') using utf8) as decrypt

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

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

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2019-09-20 17:43:00

看起来您的初始字符串是Base64编码的。可能是cryptoJS.AES或其他进程获取了加密的字节,并将它们作为Base64存储在数据库中。

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

票数 0
EN

Stack Overflow用户

发布于 2020-06-10 17:01:57

不确定您的问题是否仍然存在,但这里有一个建议,可以使用CryptoJS的替代品。我找到了一个Node实现的MySQL加密和解密。这个库还帮助我加密了在MySQL中可读的数据。

链接如下:

https://www.npmjs.com/package/mysql-aes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58025741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档