微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Base64编码或bin2hex随机字符串

将“随机字节”转换为字符串时,是否应该使用base64_encode或bin2hex有什么不同吗?

$bytes = openssl_random_pseudo_bytes(32); // alternatively read from /dev/urandom

echo base64_encode($bytes); // some 44 character string
echo bin2hex($bytes); // some 64 character string

要用作bcrypt的盐,显然修改后的base64是正确的选择,因为这是预期的.但对于帐户注册确认密钥或唯一的非顺序对象标识符等上下文,这是正确的选择吗?

我知道random_compat library,但这也是为了学习目的.

解决方法:

除了长度?并不是的.它们都是相同数据的表示.这个选择由你.

但请记住:

> Base64数据可能包含字符,/和=,可能需要进行URL编码.
>由于Base64数据可能包含任何字母数字字符,因此它可能包含令人反感的单词. (这在技术上也可以使用十六进制编码数据,但不太常见,因为它只使用字母A到F.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐