std.uuid
tier: std · since: std-0.5 stability: experimental
RFC 9562 UUID(v4 真熵 / v7 unix_ms 前缀;§12 纯 Ctron 驱动) 口径:零 std 依赖叶(不 use 任何 std 模块——加载器严格互斥树,db 将同时 消费 uuid 与 crypto,uuid 用 crypto 即菱形 E5020);位装配以纯算术(div/mod 掩码合成,字节值域 0..255 内无 (i) 族乘法风险)。 熵源:ctron_entropy_fill extern 垫片(db/c_src/ctron_entropy.c; getrandom(Linux)/arc4random_buf(Apple·BSD)/getrandom 失败回落 /dev/urandom)。垫片放 db/c_src 的理由:P5 db 泳道自有 c_src 邻位 (ctron_net.c 邻形),uuid 是 db 消费面、而 net 模块面不得被 db 依赖 (门面 db: StdDb 贯穿口径),故不随 net。 interp 口径无 extern 运行时:uuid_v4()/uuid_v7() 真熵面仅发射臂可跑 (tests/net 同款);纯形 uuid_v4_from/uuid_v7_from/format/parse 双臂可测。 v7 结构(RFC 9562 §5.2):48 位 unix_ms(大端)|| ver 7(半字节)|| 12 位 rand_a || var 10(2 位)|| 62 位 rand_b。v4(§5.1/RFC 4122):16 随机字节, 第 7 字节高半字节 0100,第 9 字节高 2 位 10。
pub fn
| Signature | Returns | Description |
|---|---|---|
uuid_format(b: List[I32]) |
Str |
16 字节 → 8-4-4-4-12 小写 |
uuid_v4_from(r: List[I32]) |
Str |
16 随机字节 → v4(版本/变体位装配;不足 16 补零,文档化) |
uuid_v7_from(ms: I64, rand: List[I32]) |
Str |
unix_ms + 10 随机字节 → v7(rand_a 2B + rand_b 8B;不足补零;ms 截 48 位) |
uuid_v4() |
Str |
v4 真熵(16B;发射臂面,见头注) |
uuid_v7() |
Str |
v7 真熵(48 位 unix_ms + 10B 随机;发射臂面,见头注) |
uuid_parse(s: Str) |
Str |
解析 → 校验 → 规范化重排(8-4-4-4-12/连字符位/十六进制集;非法 = 空串; 大写入参规范化为小写) |