豫言 / 豫言操作系统随机数 @ 0.1.0

从宿主密码学安全随机源取十六进制随机文字与随机通用标识。

源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。

规范.汉语.md

# 随机数接口规范 0.1.0

随机数一律来自宿主的密码学安全随机源(例如 Web Crypto 的 `getRandomValues`),不提供种子,也不提供可复现序列;需要可复现伪随机序列的程序应自行实现,不得用本包冒充。

`生成随机十六进制` 读取指定字节数的随机字节并写成小写十六进制文字,结果长度恰为字节数的两倍,不含前缀。字节数须在 1 到 1024 之间,越界时调用失败并抛出豫言异常。

`生成随机通用标识` 返回小写的 UUID 第四版文字,格式为 8-4-4-4-12 个十六进制字符,共 36 个字符,版本位和变体位符合 RFC 9562。

本包不判断随机文字是否已被用作账户名、令牌或会话;唯一性检查和冲突重试属于使用者。用作令牌时,应保证字节数足够(一般至少 32 字节),并只保存其摘要。

规范.文言.md

# 随机数公约 0.1.0

随机者,一取诸宿主密码学安全之源(如 Web Crypto 之 `getRandomValues`),不设种子,亦不供可复现之序;需可复现之伪随机者,当自为之,不得借此包冒充。

`生成随机十六进制` 取所定字节数之随机字节,书为小写十六进制文,其长恰倍字节数,无前缀。字节数限一至一零二四,越界则调用败而抛豫言之异。

`生成随机通用标识` 返小写 UUID 第四版之文,式为八、四、四、四、十二位十六进制,共三十六字,版位与变位合 RFC 9562。

此包不察随机文已否为账户名、令牌或会话所用;唯一之检与冲突之重试,属客所为。用为令牌者,当使字节数足(通常不少于三十二),且惟存其摘要。