<?php
function generate_random_code(int $length = 16, int $mode = 2)
{
$randoms = [
'0123456789',
'0123456789abcdefhiklmnorstuvwxz',
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
];
if ($mode > 2 || !is_int($mode)) {
$mode = 2;
}
$codeSet = str_split($randoms[$mode]);
$codeLen = count($codeSet) - 1;
$nonceStr = '';
for ($i = 0; $i < $length; $i++) {
$nonceStr .= $codeSet[random_int(0, $codeLen)];
}
return $nonceStr;
}
var_dump('MG' . generate_random_code(16, 0));
var_dump(generate_random_code(32, 2));