如何使用Node.js将字节数组转换为字符串?

pos*_*eid 1 javascript node.js

我需要一个随机的字节序列来制作密码哈希.在Ruby中,这看起来像:

 File.open("/dev/urandom").read(20).each_byte{|x| rand << sprintf("%02x",x)}
Run Code Online (Sandbox Code Playgroud)

在Node.js中,我可以得到一个随机字节序列:

 var randomSource = RandBytes.urandom.getInstance();
 var bytes = randomSource.getRandomBytesAsync(20);
Run Code Online (Sandbox Code Playgroud)

但问题是,如何将这些转换为String?

另外,我需要将它们包裹在promisses中.这会工作:

   get_rand()
   .then(function(bytes) {
     authToken = bytes;
   })
Run Code Online (Sandbox Code Playgroud)

And*_*rew 23

试试这个:

new Buffer(bytes).toString('ascii');
Run Code Online (Sandbox Code Playgroud)

更多细节:http://nodejs.org/api/buffer.html