第1个回答 2015-11-13
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;
第2个回答 推荐于2018-04-06
$a = mt_rand(10000000,99999999);随机8位
$a .= mt_rand(10000000,99999999);随机16位
$a .= mt_rand(10000000,99999999);随机24位
//转换MD5
$b=MD5($a);//随机24位 + MD5
第3个回答 2015-12-02
MD5只有32位和16位的,如果需要24位的,可以通过strlen函数截取获得24位的加密。
第4个回答 2015-11-23
php md5加密后默认是32位的,没有加密成24位的,你可以你可以把32位的用substr() 方法截取前面24位!
第5个回答 推荐于2016-08-19
$seed=md5(microtime());
$pwd='';
for($i=0;$i<$length;$i++){
$pwd.=$seed{mt_rand(0,31)};
}
$hash=md5($pwd);
return substr($hash,0,$length);本回答被提问者和网友采纳