<?php
function gdr_encode($val) {
$bin = '';
while ($val > 0) {
$bin .= chr($val & 0xFF);
$val >>= 8;
}
return str_replace(array('/', '='), array('_', ''), base64_encode($bin));
}
function gdr_decode($str) {
$bin = base64_decode(str_replace('_', '/', $str));
$val = 0;
for ($i=strlen($bin)-1; $i>=0; $i--) {
$val |= ord($bin[$i]) << $i*8;
}
return $val;
}
if (phpversion() < '5.2.1') {
die('old rng');
}
// seed rng for consistent values
mt_srand(42);
for ($i=0; $i<32; $i++) {
$val = 1<<$i;
$val += mt_rand(0, $val/2);
$enc = gdr_encode($val);
$dec = gdr_decode($enc);
if ($val === $dec) {
echo "$enc $val\n";
} else {
echo "$enc $valĀ ERROR: gdr_decode($enc) == $dec\n";
}
}
- Output for 7.2.0 - 7.2.26, 7.3.0 - 7.3.13, 7.4.0 - 7.4.1
- AQ 1
Aw 3
BQ 5
DA 12
EA 16
Jg 38
WQ 89
uw 187
QAE 320
EQI 529
KAQ 1064
cgg 2162
tBU 5556
Ky0 11563
oUo 19105
wpc 38850
oXgB 96417
1cYC 181973
9uMF 386038
2nYI 554714
7QUV 1377773
Tfwg 2161741
P_tL 4979519
dOaU 9758324
QfQaAQ 18543681
rfxEAg 38075565
CttbBA 73128714
gQkzCA 137562497
uhSMFg 378279098
EpnzLg 787716370
nEQTXg 1578321052
ytHijQ 2380452298
- Output for 7.1.0 - 7.1.33
- AQ 1
Aw 3
BQ 5
DA 12
EA 16
Jg 38
WQ 89
uw 187
QAE 320
EQI 529
KAQ 1064
cgg 2162
tBU 5556
Ky0 11563
oUo 19105
wpc 38850
oXgB 96417
1cYC 181973
9uMF 386038
2nYI 554714
7QUV 1377773
Tfwg 2161741
P_tL 4979519
dOaU 9758324
QfQaAQ 18543681
rfxEAg 38075565
CttbBA 73128714
gQkzCA 137562497
uhSMFg 378279098
rJMBLg 771855276
E5nzTg 1324587283
nkQTng 2652062878
- Output for 5.2.1 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
- AQ 1
Aw 3
Bg 6
DA 12
Eg 18
Iw 35
TQ 77
mQ 153
FAE 276
cgI 626
swU 1459
nAs 2972
dxA 4215
sCg 10416
ZUQ 17509
_6o 43775
8UwB 85233
kyQC 140435
p5cE 300967
g5oK 694915
KCoQ 1059368
cg4v 3083890
gQlf 6228353
OzWu 11416891
j8YVAQ 18204303
_kTwAg 49300734
trdsBA 74233782
jpP6Cw 200971150
pmB0EQ 292839590
lWcJIA 537487253
InPeRQ 1172206370
kyshmA 2552310675
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0
- old rng
preferences:
208.48 ms | 402 KiB | 325 Q