如何将 aes 密钥从 js 传输到 java 服务器?

How to transfer aes key from js to java server?

我正在尝试传输在 js 中生成的 AES 密钥:

var AESkey = forge.random.getBytesSync(16);

例如,如果打印控制台我有“§½üå8bdÈP”

但在我的 java 服务器上打印的是“—§Â‡Â˝Â\u001eĂĽĂĄ8b\u000edĂ?\u0012P›” (其他数据都可以)

我尝试使用 Buffer.from(AESkey) 获取字节,但我得到的不是 16 字节的缓冲区,而是 22/24/25.. 缓冲区长度.

我可以用哪种格式传输密钥,如何在 js 中将我的 AES 密钥转换为该格式?

可能的解决方案:

  • 在客户端制作一个base64编码的字符串
  • 将 base64 编码的字符串发送到服务器
  • 解码 Java 中的 base64 以获得字节序列

这样就可以安全的传输字节序列了。