首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何生成随机SHA1哈希作为node.js中的ID?

如何生成随机SHA1哈希作为node.js中的ID?
EN

Stack Overflow用户
提问于 2012-02-23 13:51:54
回答 2查看 102K关注 0票数 148

我使用下面这一行为node.js生成一个sha1 id:

crypto.createHash('sha1').digest('hex');

问题是它每次都返回相同的id。

有没有可能让它每次都生成一个随机的id,这样我就可以将它用作数据库文档id?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 14:28:58

看看这里:How do I use node.js Crypto to create a HMAC-SHA1 hash?我会创建一个当前时间戳的散列加上一个随机数来确保散列的唯一性:

var current_date = (new Date()).valueOf().toString();
var random = Math.random().toString();
crypto.createHash('sha1').update(current_date + random).digest('hex');
票数 67
EN

Stack Overflow用户

发布于 2021-09-15 13:07:21

如果想要获得唯一标识符,应该使用UUID (通用唯一标识符)/ GUID (全局唯一标识符)。

哈希应该是确定性的、唯一的&对于任何大小的输入都是固定长度的。因此,无论您运行哈希函数多少次,如果您使用相同的输入,则输出将是相同的。

UUID是唯一的&随机生成的!有一个名为'uuid‘的包,你可以通过npm安装它,方法是

npm安装uuid

在您的代码中,通过以下方式导入模块

const { v4:uuidv4} = require('uuid');

//在导入时调用方法uuidv4或其他名称&将其记入日志或存储或赋值。该方法以字符串的形式返回UUID。

console.log(uuidv4());//输出示例:'59594fc8-6a35-4f50-a966-4d735d8402ea‘

这是npm链接(如果你需要):https://www.npmjs.com/package/uuid

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9407892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档