繁体   English   中英

节点crypto.randomBytes从函数返回令牌

[英]Node crypto.randomBytes return token from function

摘要

我有一个函数,在该函数中我使用crypto.randomBytes生成令牌,但无法从该函数返回令牌。 我想从createResetToken返回令牌。 我的功能在下面,我尝试了许多不同的操作,但是它们无法正常工作。 任何帮助将不胜感激!

function createResetToken() {
  crypto.randomBytes(20, function(err, buf) {
    const token = buf.toString("hex");
    console.log("token inside inside", token);
    return token;
  });

}

最简单的方法是使用randomBytes()的同步方式,您可以通过不提供回调函数来实现:

function createResetToken() {
  return crypto.randomBytes(20).toString("hex");
}

通过文档:

如果提供了回调函数,则会异步生成字节,并使用两个参数err和buf调用回调函数。 如果发生错误,err将是一个Error对象; 否则为null。 buf参数是一个包含生成的字节的缓冲区。

...

如果未提供回调函数,则随机字节将同步生成并作为Buffer返回。 如果生成字节有问题,将引发错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM