使用 Uniqid() 函数
这是一个内置函数,用于生成基于当前时间(以微秒为单位)的唯一 ID。
默认情况下,它返回一个 13 个字符长的唯一字符串。
该示例如下所示:
<?php $result = uniqid(); echo $result; ?>
第一个输出如下:
bdd0b74e9a6c
这是第二个:
bdd0bbc200c4
请注意,上述所有方法均基于 rand() 和 uniqid() 函数。
但是,它们不被视为加密安全的随机生成器。
使用 Random_bytes() 函数(最安全)
如果要生成可使用 bin2hex() 函数转换为十六进制格式的加密安全伪随机字节,则应使用 random_bytes 函数。
下面是一个例子:
<?php $n = ; $result = bin2hex(random_bytes($n)); echo $result; ?>
这是第一个输出:
aed08a01468f90fa726bd56319fb893967da8
第二个:
b84494cdf31bec01566d12a924c75d4baed39
使用hash函数
在 PHP 中,有几个函数,例如 md5()、sha1() 和 hash() 可用于基于精确算法(例如“sha1”、“sha256”、“md5”等)对字符串进行散列.
所有这些函数都能够将字符串作为参数并输出字母数字哈希字符串。
了解了如何使用这些功能后,接下来的步骤就变得简单了:
- 使用 rand() 函数生成随机数。
- 使用上述函数之一对其进行散列。
下面是一个例子:
<?php $str=rand(); $result = md5($str); echo $result; ?>
输出将如下所示:
c181dd2ae100fc1661a445d4
在这个片段的框架中,我们将解释在 PHP 武器库的帮助下生成唯一的随机字符串的几种方法。
使用粗暴的方法
第一种方法是使用粗暴的方法。
这是最简单的方法,可以通过以下步骤实现:
- 将所有可能的字母存储到字符串中。
- 生成从 0 到字符串长度 -1 的随机索引。
- 在给定的索引上打印字母。
- 实现步骤 n 次(n 被认为是所需字符串的长度)。
下面是一个例子:
<?php $n=; function getRandomString($n) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = ; $i < $n; $i++) { $index = rand(, strlen($characters) - ); $randomString .= $characters[$index]; } return $randomString; } echo getRandomString($n);
这是第一个输出:
HDrSOvRIs
而且,第二个:
lipHh
日期:2020-06-02 22:15:48 来源:oir作者:oir