个性化阅读
专注于IT技术分析

如何在PHP中生成随机、唯一的字母数字字符串

有很多方法可以在PHP中生成随机, 唯一的字母数字字符串, 如下所示:

使用str_shuffle()函数:

str_shuffle()函数是PHP中的内置函数, 用于随机地对作为参数传递给该函数的字符串的所有字符进行随机排序。传递数字时, 会将数字视为字符串并随机播放。此函数不会更改原始字符串或作为参数传递给它的数字。而是返回一个新字符串, 该字符串是参数中传递给它的字符串的可能排列之一。

例子:

<?php
  
//This function will return a random
//string of specified length
function random_strings( $length_of_string )
{
  
     //String of all alphanumeric character
     $str_result = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ;
  
     //Shufle the $str_result and returns substring
     //of specified length
     return substr ( str_shuffle ( $str_result ), 0, $length_of_string );
}
  
//This function will generate
//Random string of length 10
echo random_strings(10);
  
echo "\n" ;
  
//This function will generate
//Random string of length 8
echo random_strings(8);
  
?>

输出如下:

hnQVgxd4FE
6EsbCc53

使用md5()函数:

md5()函数用于计算字符串的MD5哈希值。传递时间戳作为参数, md5函数会将其转换为32位字符

例子:

<?php
  
//This function will return a random
//string of specified length
function random_strings( $length_of_string ) {
      
     //md5 the timestamps and returns substring
     //of specified length
     return substr (md5(time()), 0, $length_of_string );
}
  
//This function will generate 
//Random string of length 10
echo random_strings(10);
  
echo "\n" ;
  
//This function will generate 
//Random string of length 8
echo random_strings(8);
  
?>

输出如下:

12945f0845
12945f08

使用sha1()函数:

此函数计算字符串的sha-1哈希。传递时间戳作为参数, sha1()函数会将其转换为sha1-哈希。

例子:

<?php
  
   //This function will return 
   //A random string of specified length
   function random_strings( $length_of_string ) {
        
     
     //sha1 the timstamps and returns substring
     //of specified length
     return substr (sha1(time()), 0, $length_of_string );
}
  
//This function will generate 
//Random string of length 10
echo  random_strings(10);
  
echo "\n" ;
  
//This function will generate 
//Random string of length 8
echo  random_strings(8);
  
?>

输出如下:

643f60c52d
643f60c5

使用randon_bytes()函数:

此函数生成加密安全的伪随机字节。它返回一个字符串, 该字符串包含请求数量的加密安全随机字节。使用binehex()函数将字节转换为十六进制格式。

例子:

<?php
  
//This function will return
//A random string of specified length
function random_strings( $length_of_string ) {
  
     //random_bytes returns number of bytes
     //bin2hex converts them into hexadecimal format
     return substr (bin2hex(random_bytes( $length_of_string )), 0, $length_of_string );
}
  
//This function will generate
//Random string of length 10
echo random_strings(10);
  
echo "\n" ;
  
//This function will generate
//Random string of length 8
echo random_strings(8);
  
?>

输出如下:

64713970f3
67b575a3

赞(0)
未经允许不得转载:srcmini » 如何在PHP中生成随机、唯一的字母数字字符串

评论 抢沙发

评论前必须登录!