From: Alexandre Alapetite Date: Sun, 10 Nov 2013 21:50:34 +0000 (+0100) Subject: smallHash: simplified and improved performance X-Git-Tag: v0.0.42beta~4^2 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=c002ca9c6ba1d40cda342ca85fb48acda39d7e52;p=github%2Fshaarli%2FShaarli.git smallHash: simplified and improved performance Unchanged behaviour --- diff --git a/index.php b/index.php index 0465a4e5..24fbe436 100644 --- a/index.php +++ b/index.php @@ -221,7 +221,7 @@ function nl2br_escaped($html) return str_replace('>','>',str_replace('<','<',nl2br($html))); } -/* Returns the small hash of a string +/* Returns the small hash of a string, using RFC 4648 base64url format eg. smallHash('20111006_131924') --> yZH23w Small hashes: - are unique (well, as unique as crc32, at last) @@ -233,10 +233,7 @@ function nl2br_escaped($html) function smallHash($text) { $t = rtrim(base64_encode(hash('crc32',$text,true)),'='); - $t = str_replace('+','-',$t); // Get rid of characters which need encoding in URLs. - $t = str_replace('/','_',$t); - $t = str_replace('=','@',$t); - return $t; + return strtr($t, '+/', '-_'); } // In a string, converts urls to clickable links.