在 PHP 中生成随机、唯一的字母数字字符串用于验证链接
在网站上注册时,您经常会收到一封包含链接的电子邮件来验证您的帐户。此链接需要一个唯一的随机字符串以确保其真实性。以下是如何在 PHP 中生成这样的字符串。
使用 PHP 7 标准库(推荐)
PHP 7 引入了 random_bytes($length) 函数来生成加密安全的伪字符串-随机字节。
$bytes = random_bytes(20); var_dump(bin2hex($bytes));
PHP 5 (已过时)
对于过时的 PHP 版本,请使用 bin2hex(openssl_random_pseudo_bytes($bytes)),它会生成长度 = $bytes * 2 的随机字母数字字符串。
增强的加密安全函数
以下函数满足所有安全标准:
function getToken($length) { $token = ""; $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $max = strlen($codeAlphabet); for ($i = 0; $i < $length; $i++) { $token .= $codeAlphabet[crypto_rand_secure(0, $max - 1)]; } return $token; }
crypto_rand_secure($min, $max) 使用 openssl_random_pseudo_bytes 生成 $min 和 $max 之间的随机数。 getToken($length) 创建自定义字母表并生成长度为 $length 的字符串。
结论
使用这些函数,您可以为以下内容生成健壮的随机且唯一的字符串:各种与安全相关的目的,例如验证链接和密码检索令牌。
以上是如何在 PHP 中生成用于验证链接的安全随机字母数字字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!