前端框架选型是企业提升开发效率与用户体验的关键因素
530
2022-10-14
uid 一个微小的 (134B) 快速实用程序、用于生成固定长度的随机ID
A tiny (134B) and fast utility to randomize unique IDs of fixed length
Fast object IDs. Available for Node.js and the browser.Generate randomized output strings of fixed length using lowercase alphanumeric characters (a-z0-9).
Notice: Please note that this is not a cryptographically secure (CSPRNG) generator.
Additionally, this module is delivered as:
CommonJS: dist/index.jsES Module: dist/index.mjsUMD: dist/index.min.js
Install
$ npm install --save uid
Usage
import uid from 'uid';// length = 11 (default)uid(); //=> 'fsm2vsgo1pr'uid(); //=> 'gf34sezvoh6'// customize lengthuid(16); //=> 'zbb6cc3ay26omrdz'uid(25); //=> 'lljjmo3f39rnjudsgqvzta1rb'uid(32); //=> 'yrfiw88qlq1fgpm40lguz6u43gksfj4a'
API
uid(length?)
Returns: String
Creates a new random identifer of fixed length.
length
Type: Number Default: 11
Then length of the output string.
Important: Your risk of collisions decreases with longer strings!
Benchmarks
Running on Node.js v10.13.0
Validation (length = 11): ✔ hashids/fixed (example: "QWjnegYbwZ1") ✔ nanoid/non-secure (example: "o9SPLfEtDMB") ✔ nanoid (example: "BbgkcjUV8fg") ✔ uid (example: "5j2t6tmjboz")Benchmark (length = 11): hashids/fixed x 358,452 ops/sec ±2.04% (95 runs sampled) nanoid/non-secure x 4,855,107 ops/sec ±0.33% (96 runs sampled) nanoid x 493,479 ops/sec ±0.42% (96 runs sampled) uid x 5,034,240 ops/sec ±0.24% (94 runs sampled)Validation (length = 25): ✔ cuid (example: "ck7dod7qj0000ws7c5cmmh5mc") ✔ hashids/fixed (example: "r9JOyLkQWjnegYbwZ1p0GDXNm") ✔ nanoid/non-secure (example: "aIrSCUwGMsMSZ-1xnSB8myg0X") ✔ nanoid (example: "51jS9SkdKG5lXW5Yg3L4juzuT") ✔ uid (example: "k0gd21k1p2y7qgwmgrgspo4uy")Benchmark (length = 25): cuid x 160,075 ops/sec ±1.35% (90 runs sampled) hashids/fixed x 337,598 ops/sec ±0.13% (98 runs sampled) nanoid/non-secure x 2,246,032 ops/sec ±0.31% (96 runs sampled) nanoid x 431,758 ops/sec ±0.71% (98 runs sampled) uid x 2,417,171 ops/sec ±0.33% (96 runs sampled)Validation (length = 36): ✔ uuid/v1 (example: "e3304870-5e48-11ea-93a8-0d27db144950") ✔ uuid/v4 (example: "8f18bfb3-45f9-4c14-b949-87ed98cc41c1") ✔ hashids/fixed (example: "EVq3Pr9JOyLkQWjnegYbwZ1p0GDXNmRBlAxg") ✔ @lukeed/uuid (example: "c47bd63e-7975-47a6-96c2-ea6744c4e0c2") ✔ nanoid/non-secure (example: "4yBHuV2LX1z6uYF2htLIq1dBK-Bqt4r-Il-Q") ✔ nanoid (example: "I01YCalTULD9SorD6lWzDp30hL1_JbULU8UR") ✔ uid (example: "599tis8bq39vxc95vkfxxr80gwi1mnhuiorz")Benchmark (length = 36): uuid/v1 x 1,485,783 ops/sec ±0.27% (97 runs sampled) uuid/v4 x 331,019 ops/sec ±0.86% (91 runs sampled) hashids/fixed x 314,980 ops/sec ±2.07% (96 runs sampled) @lukeed/uuid x 6,355,015 ops/sec ±0.43% (94 runs sampled) nanoid/non-secure x 1,658,583 ops/sec ±0.23% (95 runs sampled) nanoid x 402,224 ops/sec ±0.15% (97 runs sampled) uid x 1,719,753 ops/sec ±0.24% (95 runs sampled)
Related
hexoid - A slightly larger (190B) but extremely fast variant of this module with a different API@lukeed/uuid - A tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser
Credits
Thank you Matthew Mueller for gifting the uid name on npm. This module was previously known as foid (fast object IDs).
License
MIT © Luke Edwards
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~