我使用
生成随机16字节var crypto = require('crypto');
iv = crypto.randomBytes(16);
如果我是console.log iv,它就像这样打印
<Buffer 54 8e 09 f7 03 56 a1 23 75 94 fb e4 89 e3 36 84>
当我使用iv.toString(&#39; hex&#39;)功能时,会打印
548e09f70356a1237594fbe489e33684
现在我又要将上面的字符串转换回原来的字符,即将548e09f70356a1237594fbe489e33684转换为
<Buffer 54 8e 09 f7 03 56 a1 23 75 94 fb e4 89 e3 36 84>
我试着这样: -
var buffer_data = new Buffer(res_iv);
console.log(buffer_data);
它会生成错误的O / P <Buffer 35 34 38 65 30 39 66 37 30 33 35 36 61 31 32 33 37 35 39 34 66 62 65 34 38 39 65 33 33 36 38 34>
也尝试使用
var convertHex = require('convert-hex');
但无法获得所需的输出
任何人都知道如何实现这一目标?
答案 0 :(得分:0)
您可以使用Buffer.from。
var convertHex = Buffer.from('548e09f70356a1237594fbe489e33684', 'hex');
答案 1 :(得分:0)
const buf1 = Buffer.alloc(16, '548e09f70356a1237594fbe489e33684', 'hex');
// Prints:
<Buffer 54 8e 09 f7 03 56 a1 23 75 94 fb e4 89 e3 36 84>
console.log(buf1);
它将打印所需的输出。 @ ponury-kostek感谢真正帮助我的想法
OR
@ ponury-kostek答案(repl.it/HN3e): -
Buffer.from('548e09f70356a1237594fbe489e33684', 'hex');
// Prints:
<Buffer 54 8e 09 f7 03 56 a1 23 75 94 fb e4 89 e3 36 84>