Comment 's Shortener d'URL comme bit.ly calculer une clé aléatoire pour chaque lien? Quel algorithme aurais-je besoin de savoir pour créer mon propre? P>
4 Réponses :
Peut-être qu'ils le stockent dans la base de données et vous donnent simplement un identifiant de lien. Lorsque vous interrogez cette clé, ils regardent dans leur base de données et vous avancez sur le lien réel stocké. Pour encoder quelque chose comme base64 (ou similaire) pourrait être utilisé. P>
bien évidemment, il savait que depuis que c'est ce qu'il lié à
la liaison à la version anglaise aurait été bien cependant
Je pense qu'ils ne sont pas forts> aléatoires une nouvelle clé et des vérifications si elles sont existantes dans la base de données, car il suffit de simplement utiliser un numéro séquentiel et d'appliquer une crigographie frappe> algoritm à Convertissez une pièce d'identité séquenciale en une chaîne unique. ex: p> URL à utiliser:
http://bit.ly/161llz p> tks: mykhal et Nick Johnson p> p>
.. et puis ils espèrent qu'il n'y aurait pas de collision :)
La cryptographie n'a rien à voir avec cela.
Jusqu'à présent, j'ai trouvé le code de http: / /briancray.com/2009/08/26/free-php-url-shorttener-script/ et la réponse plus complexe par mentionné ci-dessus. p> p>
Ils le stockent le plus probablement dans une base de données et générer juste la clé au hasard. Je suppose cela parce que vous pouvez faire votre propre clé, et s'ils ne sont que décodés, vous ne seriez pas capable de le choisir vous-même. P>
Quant à la façon de le faire, vous pouvez simplement créer une base de données dans MySQL et disposer de la clé et du site complet. Il suffit de rechercher pour la clé, puis de rediriger l'utilisateur sur le site complet. p>
Merci, mais je sais comment stocker la clé - ma question est de savoir comment "calculer une clé aléatoire pour chaque lien?"
Il y a beaucoup de façons. Ils peuvent simplement faire quelque chose d'aussi simple que proposer quelques nombres aléatoires, puis attribuer une lettre pour chaque numéro et les coller tous ensemble. Le fait qu'ils utilisent une base de données pour stocker et les rechercher signifie qu'ils peuvent utiliser n'importe quelle méthode qu'ils souhaitent et que leur algorithme n'a pas à prendre en compte l'URL actuelle.
Voir Stackoverflow.com/questions/742013/Cow -O-Code-A-URL-Shorten ER pour certaines solutions possibles
N'as-tu pas lu les techniques ( en.wikipedia.org/wiki/url_shortening#techniques ) section? Y a-t-il quelque chose là-bas que vous ne comprenez pas? Voir la blogpost de Jeff aussi: CODINGHORROR.COM/BLOG / 2007/08 / ...
@ Dircrement, ce post sur le blog de Jeff devrait être une réponse. Bonnes informations et je lis ça maintenant ...
@Chrisci vous avez répondu à la question avec ce lien.
Dans ce cas, il s'agit d'un duplicata - je n'étais pas sûr à 100%, c'est pourquoi je n'ai pas voté pour fermer.