rmdir.cn

openssl rand

生成随机字节

语法

openssl rand [-base64 | -hex] 字节数

说明

适用于生成密钥、密钥盐值、会话标识等需要密码学安全随机数的场景。通过 -base64 或 -hex 控制输出编码,参数表示字节数。不要使用时间戳或 math/random 之类的伪随机函数替代它来生成密钥。

参数

  • -base64

    输出 base64 编码

  • -hex

    输出十六进制编码

示例

生成 32 字节密钥

适合作为 HMAC 或对称加密密钥。

openssl rand -base64 32

注意事项:输出为 base64 文本,长度约 44 字符。生成结果不应粘贴到聊天记录、工单或代码注释中。

生成十六进制盐值

便于写入配置或数据库字段。

openssl rand -hex 16

注意事项:每个用户应使用独立盐值,避免全局共用同一个随机串。

参考资料