AES加密前后端加解密不一致

发布于 2022-09-02 13:58:15 字数 741 浏览 13 评论 0

1.前端库jCryption 3.1.0 调用CryptoJS.AES.encrypt使用aes-256-cbc加密数据得到的密文为一个Object

clipboard.png

将这个Object转化为字符串,得到一个base64编码的字符串:

U2FsdGVkX1+MJ0CMwQcBvyk+SpiaVkIkRtw9pw2uT8hQL8y+1Y9pqaLYvdtZ7GqCbo0De2BdZWAKq5cbld2/GROMhdZXrNCWU+Ue7hS2Y8+Vgd0Hhe+dbdQ2rfWfop8UoKax3UreaWFVO7f0e6rb3VJGYFXDiQEFSKE3Ty0SJo9FqV/1utSi4nVwT5zC0ePAHWJErHiUDg4SVxbzRmr38g==

但是在后端nodejs中无法解析这段base64编码的值

clipboard.png

node.js 中的 aes-256-cbc 是怎么实现的,怎么才能跟其他的实现保持一致呢?
求指教。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哥,最终变帅啦 2022-09-09 13:58:15

可以确定jCryption的调用方法不对,最终输出结果不应该是一个obj 建议查看官方demo

辞旧 2022-09-09 13:58:15

aes是一种对称加密算法。
应该双方都持有一个密钥。

base64有标准base64实现和RFC-2045实现,两者区别在于是否会在后面加上一个rn
还有一种urlbase64,专门处理http请求的参数base。

你这个需要看下内部实现用的是哪一种,一般加解密错误都是算法转化环节出了错误

还有你需要确认后端解密使用用的是256,cbc模式的解密?
aes-256-cbc

  • aes:加密算法

  • 256:加密摘要长度

  • cbc:密文链接模式

这些都需要跟后端进行确认

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文