uniqid有多独特?

2023-11-21

这个问题其实并不是一个寻求解决方案的问题,而更多的是一个简单的好奇心问题。 PHP uniqid 函数有一个更多的熵标志,使输出“更独特”。这让我想知道,当 more_entropy 为真时和不为真时,该函数多次产生相同结果的可能性有多大。换句话说,当启用 more_entropy 时,与禁用它时相比,uniqid 有多独特?始终启用 more_entropy 有什么缺点吗?


2014 年 3 月更新:

首先,需要注意的是uniqid有点用词不当,因为它不能保证唯一的 ID。

Per the PHP 文档:

WARNING!

此函数不会创建随机或不可预测的字符串。这 函数不得用于安全目的。以加密方式使用 安全随机函数/生成器和加密安全哈希 功能来创建不可预测的安全 ID。

And

此函数不会生成加密安全令牌,在 事实上没有传递任何额外参数的返回值 与微时间()。如果您需要生成 加密安全令牌的使用openssl_random_pseudo_bytes().


根据文档,将 more-entropy 设置为 true 会生成更独特的值,但执行时间更长(尽管程度很小):

如果设置为 TRUE,uniqid() 将添加额外的熵(使用 组合线性同余生成器)在返回结束时 值,这增加了结果唯一的可能性。

注意该行increases the likelihood that the result will be unique而不是那是意志保证独特性。

您可以在一定程度上“无休止地”追求独特性,并使用任意数量的加密例程进行增强,添加salts等等——这取决于目的。

我建议查看有关 PHP 主要主题的评论,特别是:

http://www.php.net/manual/en/function.uniqid.php#96898

http://www.php.net/manual/en/function.uniqid.php#96549

http://www.php.net/manual/en/function.uniqid.php#95001

我建议的是锻炼why您需要唯一性,是为了安全(即添加到加密/加扰例程中)吗?还,How它需要是独特的吗?最后,看看速度的考虑。适用性将随着基本考虑因素的变化而变化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uniqid有多独特? 的相关文章

随机推荐

  • FileUpload:未找到 DeferredFileOutputStream 类? [复制]

    这个问题在这里已经有答案了 我正在使用 apache FileUpload 来处理 文件上传 我将它与码头一起使用 servlet 看到多部分请求 但在执行时抛出 NoClassDefFoundError 异常 protected void
  • ng2-charts - 无法绑定到“数据集”,因为它不是“基本图表”的已知属性

    版本 Cordova 6 3 1 Gulp CLI 1 2 2 Ionic 框架 2 0 0 rc 0 Ionic CLI 版本 2 1 0 我在用着ng2 图表在我的 ionic2 应用程序中 导入不import ChartsModule
  • 可逆树长关系

    我正在尝试用 纯 Prolog 编写可逆关系 没有is 剪切或类似的东西 是的 这是作业 我必须承认我不知道如何做 我没有看到任何创建这样的东西的过程 我们被赋予了 不纯粹 但可逆的算术关系 加 乘 等于 减 我们必须使用它们来创建这些关系
  • 如何定义旋转函数

    如何定义一个旋转函数来生成给定列表的所有旋转 例如 旋转 1 2 3 4 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 我写了一个shift函数 可以重新排列顺序 shift Int gt Int shift x tail
  • AH01215:(8)执行格式错误:'/var/www/python/hello.py'的执行失败:/var/www/python/hello.py

    我正在尝试在 apache 服务器中将 python 作为 CGI 运行 Python 版本是 2 7 12 这是我的 apache conf 文件
  • useQuery 的奇怪问题:未读取查询参数

    我有一个传递字符串的组件 userToFetch 将其作为参数化查询中的可变参数 该组件如下所示 pages index jsx import React from react import useQuery from apollo rea
  • CSS - 行高属性,它是如何工作的(简单)

    So in 这个简单的例子我的最终结果是 这是一个非常简单的问题 但我就是无法理解它 为了实现我使用的数字的垂直居中 line height 100px 效果很好 并且一直在反复试验的基础上进行 我的问题具体是为什么line height
  • 为什么函数中不允许使用“from ... import *”? [复制]

    这个问题在这里已经有答案了 From 文档 导入的通配符形式 from module import 仅允许在模块级别 尝试在类或函数定义中使用它会引发SyntaxError 为什么 避免在函数中使用它有什么意义 有什么问题 CPython
  • WebView使用loadDataWithBaseUrl跳转到锚点

    我的 Android 应用程序使用 WebView 来显示我 即时 生成的一堆 HTML 代码 HTML 代码使用以下代码加载 StringBuilder builder new StringBuilder HTML builder app
  • jquery UI 对话框和 Asp.net UpdatePanel

    我正在寻找用于 asp net 的 JavaScript 模式对话框解决方案 jquery UI 对话框似乎不错 但它将对话框容器移动到 body 标记的底部 我更改了对话框代码以将对话框保留为 asp net 形式 但它仍然不在 upda
  • MATLAB - FFT 缺少基础[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我目前正在从事我的第四年项目 计算机科学 其中涉及音乐 gt 乐谱的自动转录 我目前正在 Matlab 中进行 但在某个阶段必须转换为 java 我的问题 我的程序返回纯正弦音的
  • 选择区域 OpenCV

    我是 OpenCV 新手 我想选择视频 图像中的特定区域进行检测 就我而言 我想检测仅在路上而不是在停车场的汽车 嗯 选择汽车需要使用训练数据 但选择 ROI 感兴趣区域 相当简单 考虑img cv2 imread image 在这种情况下
  • 如何使用“--multi-dex”选项?

    2013 11 13 18 39 09 XlApp Dx trouble writing output Too many method references 66024 max is 65536 You may try using mult
  • 当需要 Node.js 中的模块时,“点斜杠”(./) 是否是必需的?

    我正在学习 Node js 并使用 Visual Studio 2015 Node JS 扩展编写一个简单的模块 I know 意思是 在同一目录中查找文件 但在我见过的大多数系统中 比如说 include在 C 中 转发 是可选的 我尝试
  • javax.net.ssl.SSLException:收到致命警报:bad_record_mac

    我得到了一个javax net ssl SSLException Received fatal alert bad record mac用于 HTTPS 连接 并非每个请求都会发生这种情况 如果我发送相同的请求 10 次 我只会收到一两次此
  • 具有自定义浮点格式的 pprint

    我有一个带有元组键的嵌套字典结构 当我使用 pprint 漂亮地打印字典时 条目如下所示 A B C 0 14285714285714285 D 0 14285714285714285 E 0 14285714285714285 F 0 1
  • 指定的 JDK 版本为“2724.0.0.0.0”,最大值为“500.0.0.0.0”

    在安装 Netbeans IDE 最新版本时 我遇到了错误 指定的 JDK 版本为 2724 0 0 0 0 而最大值为 500 0 0 0 0 不确定是什么导致了这个问题 类路径 Java Home 都已正确设置 甚至jdk路径在Netb
  • java.io.StreamCorruptedException:无效的流标头:75720002

    我正在创建一个服务器客户端应用程序 其中服务器将 pdf 文件发送到所有连接的客户端 问题是我收到此错误 我寻找解决方案但找不到任何解决方案 这是错误 java io StreamCorruptedException invalid str
  • Eclipse 中缺少“maven package”菜单项

    我正在使用 Eclipse 3 7 和 m2eclipse 以前我知道有一个菜单条目 maven package 但由于我重新安装了 Ubuntu 所以没有条目 我必须 maven install 才能执行相同的操作 现在我想知道是否可以找
  • uniqid有多独特?

    这个问题其实并不是一个寻求解决方案的问题 而更多的是一个简单的好奇心问题 PHP uniqid 函数有一个更多的熵标志 使输出 更独特 这让我想知道 当 more entropy 为真时和不为真时 该函数多次产生相同结果的可能性有多大 换句