Shortest möglichen codierten String mit Dekodierungsmöglichkeit (URL kürzen) mit nur PHP

Ich suche nach einer Methode, die eine Zeichenfolge zu @ codiekürzest mögliche Länge und lass es sein decodierbar (reines PHP, kein SQL). Ich habe ein funktionierendes Skript, bin aber mit der Länge der codierten Zeichenfolge nicht zufrieden.

SZENARIO

Link zu einem Bild (hängt von der Auflösung der Datei ab, die ich dem Benutzer zeigen möchte):

www.meinesite.com / share / index.php? img = / dir / dir / hi-res-img.jpg & w = 700 & h = 500

Verschlüsselter Link (so dass der Benutzer nicht erraten kann, wie er das größere Bild erhält):

www.mysite.com / share / encodedQUERYstring

Also, grundsätzlich möchte ich nur den Suchabfrageteil der URL codieren:

img = / dir / dir / hi-res-img.jpg & w = 700 & h = 500

Die Methode, die ich gerade verwende, codiert die obige Abfragezeichenfolge in:

y8xNt9VPySwC44xM3aLUYt3M3HS9rIJ0tXJbcwMDtQxbUwMDAA

Die Methode, die ich benutze, ist:

 $raw_query_string = 'img=/dir/dir/hi-res-img.jpg&w=700&h=500';

 $encoded_query_string = base64_encode(gzdeflate($raw_query_string));
 $decoded_query_string = gzinflate(base64_decode($encoded_query_string)); 

Wie kann ich das kodierte Ergebnis kürzen und habe trotzdem die Möglichkeit, es mit @ zu dekodierenu PHP?

Antworten auf die Frage(26)

Ihre Antwort auf die Frage