跳转至

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/连字符位/十六进制集;非法 = 空串;
大写入参规范化为小写)