一尘不染

如何在PHP中生成随机的64位值作为十进制字符串

php

Oauth需要一个随机的64位无符号数字,以十进制格式编码为ASCII字符串。你们能帮我用php实现吗?谢谢


阅读 487

收藏
2020-05-29

共1个答案

一尘不染

您可以使用两个32位数字,四个16位数字等。

PHP具有rand()和mt_rand(),但是标准没有指定它们提供多少随机位(尽管可以分别通过getrandmax()和mt_getrandmax()进行查询。)

因此, 最安全 最简单的选择就是生成64个随机位,并将它们一一设置。

至于使用64位整数,我建议您使用GMP库,因为它具有多种功能来帮助您。

您可以创建一个数字,在具有连续位置的数字上调用64gmp_setbit(),然后使用gmp_strval()将其转换为字符串。

2020-05-29