PHP 如何随机生成24位 MD5加密后的字符串
发布网友
发布时间:2022-04-06 04:43
我来回答
共8个回答
热心网友
时间:2022-04-06 06:12
md5是32位的,所以你需要先生成md5,再进行字符串截取,截取24个长度就是24位了。
生成随机的为了不重复,可以使用当前时间戳,在加上随机数就行
$date_string = date('Y') . date('m') . date('d') . date('H') . date('i') . date('s') . mt_rand(100000, 999999);
$md5_string = md5($date_string);
$string = substr($md5_string, 0, 24);
echo $string;
热心网友
时间:2022-04-06 07:30
$a = mt_rand(10000000,99999999);随机8位
$a .= mt_rand(10000000,99999999);随机16位
$a .= mt_rand(10000000,99999999);随机24位
//转换MD5
$b=MD5($a);//随机24位 + MD5
热心网友
时间:2022-04-06 09:05
MD5只有32位和16位的,如果需要24位的,可以通过strlen函数截取获得24位的加密。
热心网友
时间:2022-04-06 10:56
php md5加密后默认是32位的,没有加密成24位的,你可以你可以把32位的用substr() 方法截取前面24位!
热心网友
时间:2022-04-06 13:04
$seed=md5(microtime());
$pwd='';
for($i=0;$i<$length;$i++){
$pwd.=$seed{mt_rand(0,31)};
}
$hash=md5($pwd);
return substr($hash,0,$length);
热心网友
时间:2022-04-06 15:29
<?php
function createNonceStr($length = 24) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return md5($str);
}
echo createNonceStr();
热心网友
时间:2022-04-06 18:10
<?php
$rand=md5(microtime());
$pwd='';
for($i=0;$i<$length;$i++){
$pwd.=$rand{mt_rand(0,31)};
}
$hash=md5($pwd);
return substr($hash,0,$length);
?>
热心网友
时间:2022-04-06 21:08
md5 长度是固定的。。32个字符的