【勘误】PHP的加密伪随机数生成器的使用

原文章链接为:PHP的加密伪随机数生成器的使用

文中对于 random_bytes() 函数的描述有误。Github原始文档已修改为:

var_dump(bin2hex(random_bytes(5)));// string(10) "f28dc2bdd5"var_dump(random_bytes(5));// string(5) "�"��"

random_bytes() 每次调用都会生成不同内容的二进制字符串,而参数则是二进制的字节长度。直接获取到的二进制数据是乱码格式的,所以一般我们会需要使用 bin2hex() 来将二进制转换成我们可以看懂的十六进制格式字符串。不过由此带来的结果就是我们转换之后的十六进制的字符长度是我们设定的字符长度的 2 倍。这个函数的作用,可以为我们生成安全的用户密码 salt 、 密钥关键字 或者 初始化向量。

原错误内容:random_bytes() 每次调用都会生成不同内容的字符串,而参数则是字符长度的随机字符,在这里我们传递的是 5 ,返回了 10 个字符,可以看出这个参数是字符数量,而返回的其实是字节数量,对应一个字符占用两个字节的返回形式。或者我们就直接记住它返回的就是参数的两倍即可。至于这个函数的作用嘛,可以为我们生成安全的用户密码 salt 、 密钥关键字 或者 初始化向量。

Github原文链接:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202007/PHP的加密伪随机数生成器的使用.md

(0)

相关推荐