如何在PHP中生成随机的64位值作为十进制字符串 [英] How to generate random 64-bit value as decimal string in PHP
问题描述
Oauth需要一个随机的64位无符号数字,以十进制格式编码为ASCII字符串.你们可以用php帮助我实现这一目标吗? 谢谢
Oauth requires a random 64-bit, unsigned number encoded as an ASCII string in decimal format. Can you guys help me achieve this with php? Thanks
推荐答案
您可以使用两个32位数字,四个16位数字,等等.
You could use two 32-bit numbers, four 16-bit numbers, etc.
PHP具有 rand()和 getrandmax()和 mt_getrandmax().)
PHP has rand() and and mt_rand() but how many random bits they supply isn't specified by the standard (though they can be queried with the help of getrandmax() and mt_getrandmax(), respectively.)
因此,您最最安全的最简单下注将是生成64个随机位,并将它们一一设置.
So your safest simplest bet would be generating 64 random bits and setting them one by one.
对于使用64位整数,我建议使用 GMP 库,因为它具有多种功能来帮助您.
As for working with 64-bit integers, I'd recommend using the GMP library as it has a good range of functions to help you out.
您可以创建一个电话号码,拨打64 gmp_setbit() s上的连续位置,然后使用gmp_strval()将其转换为字符串.
You could create a number, call 64 gmp_setbit()s on it with successive positions then convert it to a string using gmp_strval().
这篇关于如何在PHP中生成随机的64位值作为十进制字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!