From c002ca9c6ba1d40cda342ca85fb48acda39d7e52 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 10 Nov 2013 22:50:34 +0100 Subject: [PATCH] smallHash: simplified and improved performance Unchanged behaviour --- index.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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. -- 2.41.0