创建唯一的8位数字

问题描述 投票:0回答:2

目前,我正在创建一个应用程序,该应用程序需要为用户提供一个唯一的8位代码(仅数字),用户可以输入该代码来访问我的网站的受限部分,将其视为基本的身份验证,即输入密码,密码与用户匹配,则返回用户。我遇到的麻烦是创建一个唯一的8位代码。我知道PHP具有uniqid(),但是返回的字符串太长。

我曾考虑过创建time()和用户IP地址的哈希,但是laravel的Hash::create返回整数和字符。

任何人都可以指出创建随机8位代码的方向吗?我也尝试过mt_rand,但是很可能会产生匹配的数字,除非我当然在保存之前检查数据库中的代码并重新生成(如果存在)?

php laravel random hash
2个回答
0
投票

这是工作吗?

substr(time(), 3).rand(100,999);

0
投票

这是我的生成随机数的代码:


0
投票

您需要在db中检查号码是否存在

© www.soinside.com 2019 - 2024. All rights reserved.