我将尝试将一个缓冲区编码为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
buffer: ArrayBuffer { byteLength: 16 }
byteLength: 16
byteOffset: 0
length: 16
<prototype>: 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)
我希望得到这样的字符串:
eAnguAGneSD+Y/jOpikpnQ== (这只是一个base64字符串的例子)
但结果是:
字符串:120,207,91,215,169,206,208,145,250,19,191,254,154,209,47,122
感谢您的时间!
buf.toString('base64')
本身就可以工作。 - OneCricketeerbuf.toString('base64')
,但我的观点是要展示他的问题以及在需要字符串化加密缓冲区时的可能解决方案。在帖子问题中,他在文本中提到尝试使用缓冲区方法,但在代码中调用了加密Uint8Array的.toSting()
方法,我假设他想要加密缓冲区的base64显示。 - micnic