AES加密,后天生成密钥,传入JS使用,一直不行

云从天上来 2017-05-11 04:20:51
keygen = KeyGenerator.getInstance("AES");
keygen.init(128);
//生成密钥
deskey = keygen.generateKey();
//解析deskey成数组 用这个数组去初始化SecretKeySpec
byte[] encryptKey = deskey.getEncoded();
strEncryptKey = new String(encryptKey);

var key = CryptoJS.enc.Utf8.parse(e);
var iv = CryptoJS.enc.Utf8.parse("1111111111111111");
var encrypted = CryptoJS.AES.encrypt(account,key,{iv:iv,mode:CryptoJS.mode.CBC});
生成密钥之后,我把这个byte数组 使用new String();返回到JS中,在JS中我使用cryptoJS小插件,进行加密,准备每次加解密,ajax从后台动态获得密钥,到前台加密,最后后台解密。
请问后台用generateKey生成的这个16位的密钥,怎么才能完完整整的传入JS ,进行加密?
...全文
758 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2021-05-15
  • 打赏
  • 举报
回复
可以考虑在服务器端生成aes密钥,然后通过非对称加密方式在客户端和服务器端之间传递密钥
泡杯咖啡 2021-05-13
  • 打赏
  • 举报
回复
楼主,你的问题解决了吗?我最近也碰到跟你一样的问题
DaShenBuGuoHe 2019-08-12
  • 打赏
  • 举报
回复
var key = CryptoJS.enc.Latin1.parse(xxxx); 后台生成的密钥不是utf-8编码的 你可以String看一下 utf-8是乱码的

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧