#id-generator #unique-id #id #random-string #random #uuid #url

nano-id

为 Rust 提供的一个小巧、安全、URL 友好的唯一字符串 ID 生成器

10 个版本

0.4.0 2024 年 6 月 2 日
0.3.3 2023 年 11 月 19 日
0.3.2 2023 年 9 月 15 日
0.3.1 2023 年 3 月 28 日
0.1.1 2021 年 6 月 17 日

#7 in #random-string

Download history 61/week @ 2024-05-04 147/week @ 2024-05-11 162/week @ 2024-05-18 281/week @ 2024-05-25 302/week @ 2024-06-01 164/week @ 2024-06-08 150/week @ 2024-06-15 159/week @ 2024-06-22 58/week @ 2024-06-29 72/week @ 2024-07-06 66/week @ 2024-07-13 113/week @ 2024-07-20 104/week @ 2024-07-27 55/week @ 2024-08-03 47/week @ 2024-08-10 51/week @ 2024-08-17

每月 288 次下载
用于 3 个 crate

MIT/Apache

8KB
100 行代码(不含注释)

nano-id

为 Rust 提供的一个小巧、安全、URL 友好的唯一字符串 ID 生成器

灵感来源于 nanoid

功能

  • Base58: ModueSymbhaswnPr123456789ABCDEFGHNRVfgctiUvzKqYTJkLxpZXjQW, (123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz)
  • Base62: ModuleSymbhasOwnPr0123456789ABCDEFGHNRVfgctiUvzKqYTJkLxpZXIjQW, (A-Za-z0-9)
  • Base64: ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW, (A-Za-z0-9_-)
  • Random: 数据由 getrandom 提供
  • Alphabet: 可通过 gen!(uid, 64, b"_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") 自定义

安装

cargo add nano-id

用法

nano_id::base64::<21>();

// Custom ALPHABET
nano_id::gen!(
    uid,
    64,
    b"_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
);

uid::<21>();

许可证

许可协议为 Apache License, Version 2.0 或 MIT license,您可以选择其中一种。
除非您明确声明,否则任何有意提交到本 crate 的贡献,根据 Apache-2.0 许可证定义,均应双重许可,且无任何额外条款或条件。

依赖项

~52–455KB