2009-09-24 4 views
0

Je dois ajouter l'adresse URL d'un site Web tiers à une URL, mais j'aimerais compresser/obfusquer la partie hôte. Y a-t-il des algorithmes que je peux utiliser pour hacher l'url, mais aussi non-hachage?Compresser/masquer l'URL à utiliser pour la réécriture?

Par exemple; l'URL est http://www.twitter.com/myusername. Ce que je sers actuellement (en tant que lien html) est http://mysite.net/bounce/www.twitter.com/username. Ce que je voudrais comme pour servir est quelque chose comme http://mysite.net/bounce/X5nsSkdWfA/username, et avoir le script de rebond décoder |^/bounce/(.*)/| de nouveau à www.twitter.com.

Je voudrais faire cela sans stocker le hachage n'importe où.

Suggestions?

Répondre

5

Vous pouvez utiliser, par exemple, pour ROT13 obscurcissant ;-)

$ echo twitter.com | rot13 
gjvggre.pbz 

Ensuite, vous pouvez utiliser base64

$ echo twitter.com | base64 
dHdpdHRlci5jb20K 

Naturellement, ils ne compressent pas. Vous pouvez venir avec quelque chose vous-même pour en extraire quelques morceaux.

+0

Le rapport est 1: 1 pour Rot13 et 3: 4 pour Base64. – Gumbo

+0

Gumbo, à droite, base64 obfuscate mieux. Mais alors vous pouvez rouler votre propre encodeur, sachant que la partie hôte est insensible à la casse (1 bit off) et ne peut généralement utiliser qu'un ensemble très limité de caractères (trop paresseux pour calculer les économies de bits). –

+0

Merci - un peu ROT13 avec un peu d'autre magie et ça fonctionne comme un charme! –

0

vous pouvez utiliser la technique existe dans ce Tut ..

BUILDING A URL SHORTENER

vous pouvez utiliser la fonction url shortern et reconvertir, en l'extrayant url.

+0

Ne fonctionne pas. Je dois le faire sans stocker le hachage; cette méthode stocke le hachage dans la base de données. –

Questions connexes