您的位置:首页 > 健康 > 美食 > 前端库--nanoid(轻量级的uuid)

前端库--nanoid(轻量级的uuid)

2024/10/6 8:30:20 来源:https://blog.csdn.net/shanghai597/article/details/130861610  浏览:    关键词:前端库--nanoid(轻量级的uuid)

文章目录

        • 定义:
        • 生成方式:
        • 现实使用:
        • NanoID 只有 108 个字节那么大
        • NanoID更安全
        • NanoID它既快速又紧凑
      • 使用步骤
        • 1.安装nanoid包
        • 2.引入使用
        • 3.使用
        • 4.自定义字母

定义:

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,生成全球唯一的一串字符编码。

生成方式:

UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。

现实使用:

由于uuid体积较大,在开发过程中一般使用更加轻量级的nanoid来代替uuid的使用

NanoID 只有 108 个字节那么大

与 UUID 不同,NanoID 的大小要小 4.5 倍,并且没有任何依赖关系。此外,大小限制已用于将大小从另外 35% 减小。

NanoID更安全

在大多数随机生成器中,它们使用不安全的 Math.random()。但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。

NanoID它既快速又紧凑

NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。

使用步骤

1.安装nanoid包
npm i nanoid
2.引入使用

由于引入的nanoid是一个函数,即使用时也用函数的形式

import { nanoid } from 'nanoid';
3.使用
model.id = nanoid();
4.自定义字母

NanoID 的另一个现有功能是它允许开发人员使用自定义字母表。我们可以更改文字或 id 的大小,如下所示:

import { customAlphabet } from 'nanoid';  
const nanoid = customAlphabet('ABCDEF1234567890', 12);  
model.id = nanoid();

在上面的示例中,我将自定义字母表定义为 ABCDEF1234567890,并将 Id 的大小定义为 12。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com