普贤教程 › 包参考
secure_random 包
密码学安全随机
| 项 | 值 |
|---|---|
| 包名 | secure_random |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | secure_random.px |
| 分类 | 认证与安全 |
| 文件数 / 行数 | 1 / 115 |
安装与引入
bash
pxpkg init # 首次 pxpkg add secure_random@0.2.0 pxpkg install
px
import secure_random所属分类教程:认证与安全
公开接口
| 函数 | 参数 |
|---|---|
sr_hex | n |
sr_bytes | n |
sr_token | n |
sr_int | max |
sr_int_range | lo, hi |
sr_choice | lst |
sr_shuffle | lst |
其余 2 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
sr_bitlen | n |
sr_pow2 | k |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/secure_random —— 密码学安全随机 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 对齐 Go crypto/rand 心智: sr_hex(n_bytes) → Ok(hex str) # 2n 个 hex 字符 sr_bytes(n) → Ok(bytes) sr_token(n) → Ok(base64url) # n 字节 → 无 padding base64url sr_int(max) → Ok(0..max-1) # 拒绝采样,严格均匀 sr_int_range(lo, hi) → Ok(lo..hi-1) # 区间随机 sr_choice(list) → Ok(list[i]) # 随机选一个元素 sr_shuffle(list) → Ok(shuffled) # Fisher-Yates 洗牌 底层:os_random_hex(runtime 原生,假定 /dev/urandom 或等价安全源)。 0.2.0 改进:sr_int 用拒绝采样消除模偏差(对齐 Go crypto/rand.Int); 新增 sr_int_range / sr_choice / sr_shuffle。 ============================================================