@ 2015-04-14T11:44:18Z <?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;
}
}
}
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.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 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».
String of hash «680131659347» is «leepadg». 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/ZL5QW on line 9
PHP_EOLString of hash «680131659347» is «leepadg». preferences:dark mode live preview
347.06 ms | 402 KiB | 459 Q