使用 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 生成随机字符串

在这个片段的框架中,我们将解释在 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