LXX. Hash

Introduction

Ces fonctions ont été prévues pour fonctionner avec mhash. Mhash peut être utilisée pour créer une somme de contrôle, un hachage et bien plus.

Cet ensemble de fonctions représente une interface avec la bibliothèque mhash. Mhash accepte un grand nombre d'algorithmes différents, tels MD5, SHA1, GOST et bien d'autres. Pour une liste complète des hashes supportés, reportez-vous à la documentation de mhash. La règle générale est que vous pouvez accéder à un algorithme depuis PHP avec la constante MHASH_NOMDUHASH. Par exemple, pour accéder à l'algorithme TIGER, vous pouvez utiliser la constante MHASH_TIGER.

Pré-requis

Pour l'utiliser, téléchargez les distributions de mhash depuis ce site internet et suivez les instructions d'installation incluses.

Installation

Vous aurez besoin de compiler PHP avec l'option --with-mhash[=DIR] pour activer cette extension. DIR est le chemin du dossier d'installation de la bibliothèque MHASH.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Voici une liste des modes qui sont supportés par mhash. Toutes les constantes ne sont pas ici, et vous pouvez supposer que cette documentation n'est plus à jour.

  • MHASH_MD5

  • MHASH_SHA1

  • MHASH_HAVAL256

  • MHASH_HAVAL192

  • MHASH_HAVAL160

  • MHASH_HAVAL128

  • MHASH_RIPEMD160

  • MHASH_GOST

  • MHASH_TIGER

  • MHASH_CRC32

  • MHASH_CRC32B

Exemples

Exemple 1. Calcule le MD5 et le hmac, puis l'affiche comme un hexadécimal

<?php
$input
= "what do ya want for nothing?";
$hash = mhash (MHASH_MD5, $input);
echo
"Le hash vaut ".bin2hex ($hash)."<br />\n";
$hash = mhash (MHASH_MD5, $input, "Jefe");
echo
"Le hmac vaut ".bin2hex ($hash)."<br />\n";
?>

L'exemple ci-dessus va afficher :

Le hmac vaut d03cb659cbf9192dcd066272249f8412 
Le hmac vaut 750c783e6ab0b503eaa86e310a5db738

Table des matières
mhash_count -- retourne l'identifiant maximal de hash
mhash_get_block_size -- Retourne la taille de bloc du hash
mhash_get_hash_name -- Retourne le nom du hash
mhash_keygen_s2k -- Génère une clé
mhash -- Calcule un hash