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
Libérer: 2024-10-19 11:18:29
original
573 Les gens l'ont consulté

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>
    Copier après la connexion
  2. Convertir un entier en chaîne Base 36 :

    <code class="php">$shortURL = base_convert($id, 10, 36);</code>
    Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal