]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Merge pull request #145 from Alkarex/patch-1
authorSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Fri, 29 Nov 2013 21:01:08 +0000 (13:01 -0800)
committerSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Fri, 29 Nov 2013 21:01:08 +0000 (13:01 -0800)
smallHash: simplified and improved performance

index.php

index 884b2afd9529a55ee98fba6044c32d6f7314b9b2..acc3fe495f12e7cad8dda82619cea9446f5bb1d9 100644 (file)
--- a/index.php
+++ b/index.php
@@ -221,7 +221,7 @@ function nl2br_escaped($html)
     return str_replace('>','&gt;',str_replace('<','&lt;',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.