Que*_*otd 0 javascript base64 buffer encode node.js
我正在尝试将缓冲区编码为base64字符串,但是它只是将数组复制粘贴到字符串中而不进行编码。
我要编码的缓冲区是:
Uint8Array(16)
0:120
1:207
2:91
3:215
4:169
5:206
6:208
7:145
8:250
9:19
10:191
11:254
12:154
13:209
14:47
15:122
缓冲区:ArrayBuffer {byteLength:16}
byteLength:16
byteOffset:0
长度:16
:Uint8ArrayPrototype {…}
我试图使用buffer.toString('base64'),就像您在下面看到的那样,但是它不起作用
我为此使用的代码如下:
var buf = Buffer.from([18, 5, 2, 7, 32, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
var aesCbc = new aesjs.ModeOfOperation.cbc(key);
var encryptedBytes = aesCbc.encrypt(buf);
console.log(encryptedBytes)
var string64 = encryptedBytes.toString('base64');
console.log(string64)
Run Code Online (Sandbox Code Playgroud)
我期望这样的字符串:
eAnguAGneSD + Y / jOpikpnQ ==(这只是base64字符串的示例)
但结果是:
字符串:120,207,91,215,169,206,208,145,250,19,191,254,154,209,47,122
谢谢你的时间 !
您正在尝试编码为base64Uint8Array值,而不是实际上是缓冲区,您必须使用以下方法从中创建一个缓冲区:
var encryptedBytes = Buffer.from(aesCbc.encrypt(buf));
encryptedBytes.toString('base64'); // your base64 string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3419 次 |
| 最近记录: |