4 个版本

0.1.3 2024 年 8 月 19 日
0.1.2 2023 年 8 月 8 日
0.1.1 2023 年 8 月 2 日
0.1.0 2023 年 1 月 22 日

#17 in #optimized

Download history 2867/week @ 2024-04-28 3100/week @ 2024-05-05 3637/week @ 2024-05-12 2966/week @ 2024-05-19 3386/week @ 2024-05-26 3273/week @ 2024-06-02 3133/week @ 2024-06-09 3832/week @ 2024-06-16 2766/week @ 2024-06-23 2883/week @ 2024-06-30 2890/week @ 2024-07-07 2743/week @ 2024-07-14 3354/week @ 2024-07-21 2877/week @ 2024-07-28 2967/week @ 2024-08-04 3182/week @ 2024-08-11

12,626 每月下载
用于 20 个crate (5 直接)

MIT 许可证

30KB
355

Cuid2

Build Status Crates.io docs.rs

安全、抗碰撞 ID,优化于水平扩展和性能。

这是 CUID2 算法的 Rust 实现,由其参考实现 此处 定义。

请参阅该仓库以了解 CUID 的优点,以及 CUID2 相较于原始 CUID 算法的改进(原始 CUID 算法也以 Rust 实现,此处)。

用法

最简单的用法是使用 create_id() 函数创建 ID

use cuid2;

let id = cuid2::create_id();

assert_eq!(24, id.len());

提供了一个 cuid() 别名,使其更易于替换 v1 cuid 包

use cuid2::cuid;

let id = cuid();

assert_eq!(24, id.len());

如果您想自定义 CUID 生成的一些方面,可以创建具有自定义属性的构造函数

use cuid2::CuidConstructor;

let constructor = CuidConstructor::new().with_length(32);

let id = constructor.create_id();

assert_eq!(32, id.len());

如果您使用 cargo install 安装,此包还提供了一个 cuid2 二进制文件,该文件在命令行上生成 CUID。它可以像这样使用

> cuid2
y3cfw1hafbtezzflns334sb2

依赖项

~2.5MB
~37K SLoC