Maison >développement back-end >tutoriel php >Comment créer des identifiants courts de type hachage pour les URL en PHP sans hachage

Comment créer des identifiants courts de type hachage pour les URL en PHP sans hachage

Barbara Streisand
Barbara Streisandoriginal
2024-10-19 11:18:29597parcourir

How to Create Short Hash-Like IDs for URLs in PHP without Hashing

Hachage court pour les URL en PHP

Question :
Comment puis-je créer des hachages courts à partir de chaînes ou fichiers en PHP, similaires aux sites Web populaires de raccourcissement d'URL ?

Réponse :

Contrairement à la croyance populaire, les raccourcisseurs d'URL comme TinyURL n'utilisent pas d'algorithmes de hachage. Au lieu de cela, ils utilisent des conversions d'entiers à partir de diverses bases (par exemple, base 36 ou 62) pour représenter des identifiants numériques.

Utilisation de la base 36 :

  1. Convertir une chaîne Base 36 en entier :

    <code class="php">$id = intval($shortURL, 36);</code>
  2. Convertir un entier en chaîne Base 36 :

    <code class="php">$shortURL = base_convert($id, 10, 36);</code>

Cette approche offre plus de flexibilité et évite les collisions de hachage, vous permettant de vérifier facilement les URL existantes et de récupérer leurs identifiants correspondants sans les exposer aux utilisateurs. Les entiers en base 36 donnent une gamme de combinaisons plus large qu'un hachage typique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn