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.)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...