uid 一个微小的 (134B) 快速实用程序、用于生成固定长度的随机ID

网友投稿 530 2022-10-14

uid 一个微小的 (134B) 快速实用程序、用于生成固定长度的随机ID

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小时内删除侵权内容。

上一篇:[BuildRelease]产品和文件版本号
下一篇:一个适用于微信小程序的输入组件, 可以发送文字,语音, 图片
相关文章

 发表评论

暂时没有评论,来抢沙发吧~