首页 > 其他分享 >生成唯一id

生成唯一id

时间:2022-12-29 02:55:07浏览次数:36  
标签:const crypto 唯一 hexDigits var return 生成 id Math

一、使用 crypto 插件

  生成样式:395748fa-e2fc-433e-9885-015dc39641e1

  1.安装插件

npm install crypto --save

2.调用例子

'use strict'; const crypto = require('crypto'); //加密引入的 const { Controller } = require('egg');
class HomeController extends Controller {   async index() {     const { ctx } = this;         ctx.body = crypto.randomUUID()     //ctx.body = 'egg-hi'   } }
module.exports = HomeController;

  生成样式:b9810d71-767f-4524-adbf-0afe558afbc7

async genID() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
      var r = Math.random() * 16 | 0,
          v = c == 'x' ? r : (r & 0x3 | 0x8);
      return v.toString(16);
    });
  }

  生成样式:43eae4a8-8fff-4a22-81b9-e6426f1ef47e

async genID(){
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";
 
    var uuid = s.join("");
    return uuid;
  }

 

标签:const,crypto,唯一,hexDigits,var,return,生成,id,Math
From: https://www.cnblogs.com/jn-zc/p/17011618.html

相关文章

  • Android笔记--按钮触控
    Button(由TextView派生而来)但也是有一定的区别:具体实现:按钮控件的新增属性具体实现:在未使用textAllCaps属性之前,按钮名称会默认为全部使用大写字母:在指定了该属性......
  • vue3+vite build打包报错:Some chunks are larger than 500 KiB after minification. C
    看官方的解决方案:1、在rollup配置文件中添加output.manualChunks,将模块拆分成多个chunk,减小每个chunk的大小;2、build.chunkSizeWarningLimit,提高报错的阈值;3、使用动......
  • MINIGPA103 USBHID评估板入门学习手册基于STM32HAL库
    序由于作者水平有限,文档和视频中难免有出错和讲得不好的地方,欢迎各位读者和观众善意地提出意见和建议,谢谢!第一部分、硬件概述1.1实物概图图1.1Gamepad实物概图如图1......
  • luogu P4002 [清华集训2017]生成树计数
    题面传送门容易想到放到prufer序列上,变成下面的形式。\(\sum\limits_{\sumc_i=n-2}{\frac{(n-2)!}{\prod\limits_{i=1}^{n}{c_i!}}\prod\limits_{i=1}^{n}{a_i^{c_i+1}(......
  • Android基础入门教程
    一、Android介绍Android是一种基于Linux的自由及开放源代码的操作系统,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Andr......
  • 【IDEA】解决因切换branch导致的Serviceconfigurationerror
    最近在开发一个开源社区的项目,需要在本地稳定运行的branch和push到pr中的branch之间来回切换,每次切换之后再运行都会蹦出来这个Serviceconfigurationerror。其实之前已经......
  • k06_安装idea
    安装idea开发工具1、打开浏览器搜索idea,找到idea官网点击即可官网网址如下:https://www.jetbrains.com/zh-cn/idea/2、找到下载按钮,点击下载3、这里有专业版本和社区......
  • k07_使用idea创建工程的方法
    使用idea创建一个java工程初次进入会让您选择主题之类的直接点击next下一步就可以了1、打开idea,找到CreateNewProject(创建一个新工程),点击即可2、进入会进入以下界面,......
  • Codeforces Round #841 (Div. 2) and Divide by Zero 2022
    Preface这场Div2怎么感觉难度和Div3一样,ABCD都是SB题一眼秒,可惜D下标\(n,m\)弄混挂了一发E本来也是秒出的正解,但是实现的时候一个细节挂了(自作聪明,后来结束前5min改出来......
  • Codeforces Round #841 (Div. 2) and Divide by Zero 2022
    《C.EvenSubarrays》异或和,前缀和  这道题如果用朴素的暴露解法为O(n^2),算出每一个子段的异或和,然后看一下这些异或和中哪个的除数是奇数个,但会超时 超时原因明......