【发布时间】:2019-01-12 10:46:24
【问题描述】:
我知道 PHP 7 中的 random_bytes(),我想用它来生成加密安全(例如难以猜测)的随机字符串,用作一次性令牌或长期存储在 cookie 中。
不幸的是,我不知道如何将random_bytes() 的输出转换为仅由人类可读字符组成的字符串,因此浏览器不会感到困惑。我知道bin2hex(),但我更喜欢使用完整的 ASCII 范围而不是十六进制数字,因为每个长度的位数更多。
有什么想法吗?
【问题讨论】:
-
假设您的问题仅仅是如何将字节转换为 ASCII 表示而不一定如何生成加密安全的随机字符串:您是否考虑过 Base64 编码和 PHP 中的
base64_encode()函数?跨度>
标签: php security random cryptography