px普贤教程PuXian
普贤教程 › 包参考

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_hexn
sr_bytesn
sr_tokenn
sr_intmax
sr_int_rangelo, hi
sr_choicelst
sr_shufflelst
其余 2 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
sr_bitlenn
sr_pow2k

包内说明(源码头注释)

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。
============================================================