@ 2015-04-14T11:42:27Z <?php
define('ALPHABET', 'acdegilmnoprstuw');
$hash = 680131659347;
$string = 'leepadg';
echo sprintf('Hash of string «%s» is «%s».', $string, get_hash(ALPHABET, $string)), PHP_EOL
, sprintf('String of hash «%s» is «%s».', $hash, unhash(ALPHABET, $hash))
;
function get_hash($alphabet, $string) {
$h = 7;
$len = strlen($string);
for($i = 0; $i < $len; $i++) {
$h = ($h * 37 + strpos($alphabet, $string[$i]));
}
return $h;
}
function unhash($alphabet, $hash) {
$result = '';
$len = strlen($alphabet);
while ($hash > 7) {
for ($i = 0; $i < $len; $i++) {
$newres = ($hash - $i) / 37;
if (is_int($newres)) {
$result .= $alphabet[$i];
$hash = $newres;
break;
}
}
echo $result;
return strrev($result);
}
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 4.3.10 - 4.3.11 , 4.4.0 - 4.4.9 , 5.0.2 - 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.30 , 7.0.0 - 7.0.20 , 7.1.0 - 7.1.10 , 7.2.29 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Hash of string «leepadg» is «680131659347».
gString of hash «680131659347» is «g». Output for 4.3.0 - 4.3.9 , 5.0.0 - 5.0.1 Hash of string «leepadg» is «680131659347».
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Pljo3 on line 9
PHP_EOLgString of hash «680131659347» is «g». preferences:dark mode live preview
239.17 ms | 402 KiB | 367 Q