当前位置: 首页 > news >正文

前端库--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。

http://www.lryc.cn/news/460915.html

相关文章:

  • 计算机基础-什么是网络端口?
  • 力扣动态规划基础版(斐波那契类型)
  • Java重修笔记 InetAddress 类和 Socket 类
  • 秋招突击——8/6——万得数据面试总结
  • STM32定时器
  • 第七课 Vue中的v-for遍历指令
  • 【NTN 卫星通信】卫星通信的专利
  • vue3 element table 插槽外的数据更新,插槽内的数据未更新。
  • 飞凌嵌入式FET527N-C核心板已适配OpenHarmony4.1
  • CVPR 2024最佳论文候选-pixelSplat论文解读
  • 在Android中如何切割一张图片中的不规则“消息体/图片/表情包等等”?
  • Jenkins+Ant+Jmeter接口自动化集成测试
  • JavaSE——集合4:List接口实现类—LinkedList
  • FPGA图像处理之三行缓存
  • 10月15日,每日信息差
  • 4G、5G通信中,“网络侧“含义
  • spring boot核心理解-各种starter
  • 解决海外社媒风控问题的工具——云手机
  • 全能PDF工具集 | PDF Shaper Ultimate v14.6 便携版
  • Maven入门
  • Chromium 中window.DOMParser接口说明c++
  • linux 安装gitlab
  • java基础(5)继承与多态
  • Flink消费Kafka实时写入Doris
  • 实现Web QQ音乐打开现有新标签页切换音乐
  • 从底层结构开始学习FPGA(15)----时钟结构(通俗版)
  • MacOS Sublime Text 解决中乱码
  • Python画笔案例-084 绘制 3D立方体
  • “八股文”面试:助力、阻力还是空谈?
  • 如何实现弹出式窗口