javascript - AES加密前后端加解密不一致
迷茫
迷茫 2017-04-11 09:45:26
[JavaScript讨论组]

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

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

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

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

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHPz

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

阿神

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

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

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

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

  • aes:加密算法

  • 256:加密摘要长度

  • cbc:密文链接模式

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号