PHP绝对唯一,随机字符串

PHP绝对唯一,随机字符串,php,function,random,Php,Function,Random,在我们这个时代,有没有生成绝对唯一的随机字符串的php函数? 或者重新表述这个问题,在我们这个时代,如何在php中创建绝对唯一和随机的字符串? 组合两个随机函数就足够了吗?只是吹毛求疵。。。如果它必须是唯一的,那么它就不是真正的“随机”。随机性包括复制的可能性,因为生成随机状态不依赖(或参考)以前的状态 您只是想创建一个新的应用程序吗?PHP有两种生成随机ID的方法: 有些人似乎也有。只是吹毛求疵。。。如果它必须是唯一的,那么它就不是真正的“随机”。随机性包括复制的可能性,因为生成随机状

在我们这个时代,有没有生成绝对唯一的随机字符串的php函数? 或者重新表述这个问题,在我们这个时代,如何在php中创建绝对唯一和随机的字符串?
组合两个随机函数就足够了吗?

只是吹毛求疵。。。如果它必须是唯一的,那么它就不是真正的“随机”。随机性包括复制的可能性,因为生成随机状态不依赖(或参考)以前的状态

您只是想创建一个新的应用程序吗?PHP有两种生成随机ID的方法:


有些人似乎也有。

只是吹毛求疵。。。如果它必须是唯一的,那么它就不是真正的“随机”。随机性包括复制的可能性,因为生成随机状态不依赖(或参考)以前的状态

您只是想创建一个新的应用程序吗?PHP有两种生成随机ID的方法:


其他一些人似乎也有过类似的经历。

这种情况的可能重复与其说与PHP有关,不如说与任何软件程序是否能够生成真正随机的字符串有关。它不能(因为所有随机生成器都基于某种算法,因此是确定性的)。因此,所有随机生成器的软件实现都称为伪随机(数字)生成器(PRNG)。更多信息请查看@MichaelPetrotta共享的链接。Joris,尽管有加密安全的PRNG。您可以安全地使用这些。顺便说一句,这个问题是不适定的,因为它没有指定字符串应该具有固定长度,还是最大和/或最小长度。此外,是否允许所有字节和字节序列。可能的重复与PHP关系不大,与任何软件程序是否能生成真正的随机字符串有关。它不能(因为所有随机生成器都基于某种算法,因此是确定性的)。因此,所有随机生成器的软件实现都称为伪随机(数字)生成器(PRNG)。更多信息请查看@MichaelPetrotta共享的链接。Joris,尽管有加密安全的PRNG。您可以安全地使用这些。顺便说一句,这个问题是不适定的,因为它没有指定字符串应该具有固定长度,还是最大和/或最小长度。另外,是否允许所有字节和字节序列。关于您的最后一个链接:我会小心信任调用MD5加密的资源。。。选项4非常可怕,既不遵循版本4也不遵循版本5的GUI。事实上,它只是一个MD5哈希,看起来像一个GUID。@Joey:这是一个很好的观点。它是在谷歌上找到的,似乎是进一步研究的一个不错的起点。@All:这作为密码的随机字符串生成器有多好<代码>$str_password=str_shuffle('abcefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz1234567890@#%$*');返回substr($str\u password,0,$int\u password\u length)浏览上面的所有原则/答案/帖子,我想我需要重新思考一下我的随机字符串生成器的实现,它对我来说不再是随机的:)关于你的最后一个链接:我会小心地信任一个调用MD5加密的资源。。。选项4是非常可怕的,既没有遵循版本4,也没有遵循版本5 GUI。事实上,它只是一个MD5哈希,看起来像一个GUID。@Joey:这是一个很好的观点。它是在谷歌上找到的,似乎是进一步研究的一个不错的起点。@All:这作为密码的随机字符串生成器有多好<代码>$str_password=str_shuffle('abcefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz1234567890@#%$*');返回substr($str\u password,0,$int\u password\u length)浏览上面的所有原则/答案/帖子,我想我需要重新思考一下我的随机字符串生成器的实现,它对我来说不再是随机的:)