我正在开发一个基于企业的应用程序。在这里,当最终用户通过这个应用程序注册时,我将给出一个唯一的随机数(8位),我用它来生成一个8位数并将其邮寄给他。
期望值:
我想让每个注册用户的号码都是唯一的。它应该是随机数
我已经实现了随机数生成器,但并不是所有的都是唯一的。如果有人知道,请帮我解决这个问题,而不是随机数生成器,有什么建议吗?
发布于 2017-10-23 15:35:25
有几个像uniqid这样的选项可以生成唯一的标识符。然而,uniqid已经被证明在某些情况下会导致冲突。将true添加到函数调用将增加熵,从而降低冲突量。然而,我建议你使用random_bytes或openssl_random_pseudo_bytes,因为他们在这方面要好得多。:-)
发布于 2017-10-23 16:31:42
您应该生成一个通用唯一标识符(UUID)。ramsey/uuid库就是一个很好的工具。向带有UUID的"users“表中添加另一列(例如user_uuid)。生成一个新的UUID并将值保存在其中。
示例:
use Ramsey\Uuid\Uuid;
// Generate a version 4 (random) UUID object
$uuid4 = Uuid::uuid4();
echo $uuid4->toString(); // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7ahttps://stackoverflow.com/questions/46883908
复制相似问题