<?php
function string_inthash($str)
{
$a = (int)preg_replace('#[^0-9]#u', '', sha1($str)) - (int)date('YmdHis');
if (PHP_INT_MAX != 0x0000000080000000) { // 2147483647
$a = -(~($a & 0x00000000FFFFFFFF) + 1);
}
return (int)$a;
}
$str = 'secret';
echo string_inthash($str);
/*
$a = date('YmdHi');
$b = 'secret';
$bb = sha1($b);
$bc = preg_replace('#[^0-9]#u', '', $bb);
$bd = (int)$bc - (int)$a;
$c = "{$b}|{$a}";
$d = base64_encode($c);
$e = base64_decode($d);
echo $a . PHP_EOL;
echo $b . PHP_EOL;
echo $bb . PHP_EOL;
echo $bc . PHP_EOL;
echo $bd . PHP_EOL;
echo $c . PHP_EOL;
echo $d . PHP_EOL;
echo $e . PHP_EOL;
*/
- Output for 4.4.0 - 4.4.9, 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 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.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.12 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- 3592670695
- Output for 7.3.32 - 7.3.33, 7.4.26, 8.0.13
- 3592680695
- Output for 4.3.0 - 4.3.11, 5.0.0 - 5.0.4
- Notice: Use of undefined constant PHP_INT_MAX - assumed 'PHP_INT_MAX' in /in/ADWGo on line 5
3592670695
preferences:
227.27 ms | 401 KiB | 352 Q