栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

uniqid有多独特?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uniqid有多独特?

2014年3月更新:

首先,必须注意这

uniqid
是一个误称,因为它不能保证唯一的ID。

根据PHP文档:

警告!

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

此函数不会生成加密安全的令牌,实际上,如果未传递任何其他参数,则返回值与microtime()几乎没有什么不同。如果您需要生成加密安全的令牌,请使用openssl_random_pseudo_bytes()。


根据文档,将更多熵设置为true会生成更多唯一值,但是执行时间更长(尽管程度很小):

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

请注意这行

increases the likelihood that the result will be unique
,并非那会 保证 唯一性。

您可以“无限地”争取唯一性,并使用任意数量的加密例程,添加盐等来增强它-
这取决于目的。

我建议您查看有关主要PHP主题的评论,尤其是:

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

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

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

我的建议是弄清楚 为什么 需要唯一性,这是出于安全性(即添加到加密/加扰例程)吗?另外,它需要 有多
独特?最后,看一下速度注意事项。适应性将随着基本注意事项而变化。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号