首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为symfony中的每个用户生成唯一随机值并将其添加到数据库中

如何为symfony中的每个用户生成唯一随机值并将其添加到数据库中
EN

Stack Overflow用户
提问于 2017-10-23 15:24:14
回答 2查看 1.3K关注 0票数 1

我正在开发一个基于企业的应用程序。在这里,当最终用户通过这个应用程序注册时,我将给出一个唯一的随机数(8位),我用它来生成一个8位数并将其邮寄给他。

期望值:

我想让每个注册用户的号码都是唯一的。它应该是随机数

我已经实现了随机数生成器,但并不是所有的都是唯一的。如果有人知道,请帮我解决这个问题,而不是随机数生成器,有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2017-10-23 15:35:25

有几个像uniqid这样的选项可以生成唯一的标识符。然而,uniqid已经被证明在某些情况下会导致冲突。将true添加到函数调用将增加熵,从而降低冲突量。然而,我建议你使用random_bytesopenssl_random_pseudo_bytes,因为他们在这方面要好得多。:-)

票数 2
EN

Stack Overflow用户

发布于 2017-10-23 16:31:42

您应该生成一个通用唯一标识符(UUID)。ramsey/uuid库就是一个很好的工具。向带有UUID的"users“表中添加另一列(例如user_uuid)。生成一个新的UUID并将值保存在其中。

示例:

代码语言:javascript
复制
use Ramsey\Uuid\Uuid;

// Generate a version 4 (random) UUID object
$uuid4 = Uuid::uuid4();
echo $uuid4->toString(); // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46883908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档