function get62($src, $length = 8){
$md5 = md5($src, true);
$pos = 0;
$res = "";
while(strlen($res) < $length && ($bin = substr($md5, $pos, 4)) != ""){
$uint = sprintf("%u" , unpack("Nint", $bin)['int']);
$res .= decto62($uint);
$pos += 4;
}
return substr($res, 0, $length);
}
function decto62($src){
static $table = [];
$table = array_merge(range(0, 9), range('A', "Z"), range('a', "z"));
$arr62 = [];
$div = $src;
do{
$mod = $div % 62;
array_unshift($arr62, $table[$mod]);
$div = intval($div / 62);
}while($div != 0);
return implode("", $arr62);
}
var_dump(get62("abc"));
温馨提示:答案为网友推荐,仅供参考