php - 如何从 PHP 中的给定数据生成具有固定长度的唯一数值?

标签 php algorithm

如何从 PHP 中的给定数据生成具有固定长度的唯一数值?例如,我可以有一个包含数字和字符的字符串,我需要生成长度为 6 的唯一数值。谢谢!

最佳答案

您无法使用任何算法从输入中生成唯一的数值。这就是将输入转换为伪随机输出的问题。如果你有一个 20 个字符的输入字符串和只有 6 个字符的输出,会有重复的结果,因为:

输入 20 个字符(假设有 58 种字母数字可能性):

58^20 = 1.8559226468222606056912232424512e+35 possibilities

6 个字符的输出(假设有 10 种数字可能性):

10^6 = 1000000 possibilities

因此,总而言之,您将无法从字符串中生成唯一数字。您最好的机会是使用像 md5 这样的哈希函数或 sha1 .它们是字母数字,但您始终可以将它们转换为数字。但是,一旦您将它们裁剪为 6 位数字,它们被重复的机会就会增加很多。

关于php - 如何从 PHP 中的给定数据生成具有固定长度的唯一数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212596/

相关文章:

php - 如何在 WordPress 中将带有图像的帖子导航链接居中?

algorithm - 给定大小的非相邻集的数量

java - 您如何处理每个整数基数排序的位置?

区域体积的 Python 数值积分

php - 我们如何在不使用 pcntl_fork() 的情况下在 php 中执行多个进程?

javascript - jQuery Ajax 在第二次提交时发送两次,在第三次提交时发送三次

php - 尝试在更新函数上获取非对象的属性 'id'

php - 在 mysql 表中插入一行。它不起作用?

C#:合并相邻范围

algorithm - 标记长字符串中的有效单词