在php中进行base64编码/解码

我在我的网站上实现了cookie机制.
我想要存储的所有cookie都在一个包含TTL,值,名称的数组中……

当我想设置cookie时,我序列化选项卡,然后我gzcompress,最后我base64_encode

base64_encode(gzcompress(serialize($array)))

我的问题是某个时候,当我得到cookie时

$_COOKIE[name]

base64_encoded字符串全部为小写字符.

所以我的问题是:
– 可能所有字符都是小写格式(base64_encoded)

或者也许我做错了,但问题不会一直出现,我无法重现这个错误.

解决方法:

是的,Base64编码的字符串可以全部小写.发生这种情况的概率(对于随机输入数据,压缩数据非常接近)约为(36/64)4 N / 3,其中N是输入的长度(以字节为单位),因此4 N / 3是近似值输出长度(不包括填充).

碰巧,(36/64)4& about; 0.100113非常接近1/10,因此,对于非常好的近似,随机Base64字符串不包含大写字母的概率每四个字符的长度下降10倍.

因此,例如,随机的8字符Base64字符串(对应于随机的6字节输入)有大约1%的可能性不包含大写字母,而随机12字符的Base64字符串的对应概率(对应于a随机9字节输入)约为0.1%,依此类推.

相关文章

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