<?php
function base64_encode_url($string) {
$data = base64_encode($string);
return str_replace(['+','/','='], ['-','_',''], $data);
}
function base64_decode_url($string) {
$data = str_replace(['-','_'], ['+','/'], $string);
$mod4 = strlen($data) % 4;
return base64_decode($data /*. substr('====', $mod4)*/);
}
for ($i=0; $i<20000; $i++) {
$data = random_bytes(rand(12,20));
if (base64_decode_url(base64_encode($data)) !== $data) {
echo "FAIL";
}
}
echo "OK";
preferences:
43.95 ms | 402 KiB | 5 Q