Cadena codificada más corta posible con posibilidad de decodificación (acortar url) usando solo PHP

Estoy buscando un método que codifique una cadena paramás corto longitud posible y deja que seadecodificable (PHP puro, sin SQL). Tengo un script de trabajo pero no estoy satisfecho con la longitud de la cadena codificada.

GUIÓN:

Enlace a una imagen (depende de la resolución del archivo que quiero mostrar al usuario):

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

Enlace codificado (para que el usuario no pueda adivinar cómo obtener la imagen más grande):

www.mysite.com/share/encodedQUERYstring

Entonces, básicamente me gustaría codificar solo la parte de consulta de búsqueda de la URL:

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

El método que uso ahora codificará la cadena de consulta anterior para:

y8xNt9VPySwC44xM3aLUYt3M3HS9rIJ0tXJbcwMDtQxbUwMDAA

El método que uso es:

 $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)); 

¿Cómo acorto el resultado codificado y aún tengo la posibilidad de decodificarlo usandosolamente PHP?

Respuestas a la pregunta(13)

Su respuesta a la pregunta