Maison > développement back-end > tutoriel php > Fonction de hachage en PHP

Fonction de hachage en PHP

PHPz
Libérer: 2024-08-29 12:47:03
original
1191 Les gens l'ont consulté

La fonction de hachage en PHP est une méthode spéciale prédéfinie et utilisée pour indiquer une chaîne sous la forme d'une valeur définie mesurée à partir des caractères de la chaîne. Il est populaire pour son application comme algorithme de chiffrement et comme représentation de valeur d'index pour les éléments de la base de données. Les types d’algorithmes de hachage les plus couramment utilisés dans le processus de cryptage des données sont SHA1() et MD5(). En PHP, les fonctions de hachage sont de quatre types différents, comme Hash_equals, Hash_final, Hash_init et Hash_copy.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Comment fonctionne la fonction de hachage ?

PHP est un langage de programmation côté serveur et son rôle principal est de traiter les fonctionnalités back-end requises pour une application particulière. Dans ce processus, l’authentification joue un rôle essentiel car les vulnérabilités peuvent facilement exploiter les données. Une façon de sécuriser les données consiste à les stocker dans la base de données sous leur forme originale, mais cela pourrait conduire à une situation dans laquelle l'intrus/la personne non autorisée pourrait facilement prendre les données et les compromettre. Cette situation peut être facilement gérée en utilisant les fonctions de hachage.

Les fonctions de hachage chiffrent les données dans leur vraie forme donc sans en changer la signification. Ainsi, lorsqu'un utilisateur saisit les données sous leur forme réelle, les données seront cryptées dans le backend et ainsi l'authentification et l'autorisation du processus de données se produiront. Les algorithmes de hachage les plus couramment utilisés sont md5(), sha1() et quelques fonctions de hachage. Ces algorithmes sont utilisés par le développeur pour authentifier que les données saisies par l'utilisateur sont correctes ou non pour poursuivre le processus.

1. MD5()

Cet algorithme est l'un des puissants algorithmes de hachage qui calcule le hachage md5, c'est-à-dire le hachage du nombre hexadécimal de 16 ou 32 caractères d'une chaîne particulière. Cette chaîne transmise sera convertie au format hexadécimal crypté.

Syntaxe :

string md5 ($string, $getRawOutput)
Copier après la connexion

La syntaxe ci-dessus indiquait la $string comme chaîne d'entrée. La sortie brute est une entrée facultative car le développeur souhaite la convertir en 16 bits ou 32 bits. Si 16 bits doivent être activés, ils doivent être définis sur TRUE Boolean et transmis à la fonction. S'il n'est pas défini, la valeur par défaut de 32 bits est définie automatiquement.

Exemple :

md5 (EduCBA, TRUE)
Copier après la connexion

2. SHA1 ()

Cet algorithme est l'un des puissants algorithmes de hachage qui calcule le hachage sha1, c'est-à-dire le hachage au format binaire de 20 caractères ou le nombre hexadécimal de 40 caractères d'une chaîne particulière. Cette chaîne transmise sera convertie au format hexadécimal crypté.

Syntaxe :

string sha1 ($string, $getRawOutput)
Copier après la connexion

La syntaxe ci-dessus indiquait la $string comme chaîne d'entrée. La sortie brute est une entrée facultative car le développeur souhaite qu'elle soit de 20 bits ou 40 bits. Si 20 bits doivent être activés, ils doivent être définis sur TRUE Boolean et transmis à la fonction. S'il n'est pas défini, la valeur par défaut de 40 bits est définie automatiquement.

Exemple :

sha1 (EduCBA, TRUE)
Copier après la connexion

Fonction de hachage en PHP

Vous trouverez ci-dessous quelques fonctions de hachage utilisées en PHP pour crypter/convertir les données de la forme originale en forme hachée.

1. Hash_equals

Cette fonction compare les deux chaînes en même temps qu'elles soient égales ou non. Cette fonction renvoie TRUE lorsque les chaînes sont égales et FALSE si les chaînes ne sont pas égales. Les deux arguments doivent être les mêmes pour comparer les chaînes, sinon il renverra immédiatement false sans même comparer les chaînes par ordre alphabétique et parfois la longueur de la chaîne peut également être révélée en cas d'attaque temporelle.

2. Hash_final

Cette fonction renvoie un résumé de hachage de la chaîne d'entrée transmise à cette fonction. Lorsque la sortie brute est définie sur TRUE, elle donne des données binaires brutes et lorsqu'elle est définie sur FALSE, elle donne un nombre hexadécimal minuscule. Cette fonction renvoie un résumé hexadécimal calculé de la chaîne en sortie.

3. Hash_init

Cette fonction est utilisée avec les algorithmes de hachage, c'est-à-dire md5 (), sha (), etc. Cette fonction avec les algorithmes de hachage produit une sortie à utiliser avec hash_update (), hash final (), etc. La sortie du hash_init est stocké dans une chaîne ou une variable et transmis à l'une des fonctions.

4. Hash_copy

Cette fonction permet de copier le contexte de hachage. La chaîne passée en entrée à la fonction est hachée par l'un des algorithmes utilisés dans la fonction hash_init() et la sortie correspondante serait la chaîne hachée qui est transmise à cette fonction. Cette fonction renvoie une forme hachée de la sortie donnée par la fonction hash_init.

Examples of Hashing Function in PHP

The following is a list of hashing function in PHP explained in detail,

Example #1

Code:

<?php
$c = hash_init("md5");
hash_update($c, "content");
$copy_c = hash_copy($c);
echo hash_final($c);
hash_update($copy_c, "content");
echo hash_final($copy_c), "\n";
?>
Copier après la connexion

Output:

Fonction de hachage en PHP

Example #2

Code:

<?php
$expected  = crypt('leela123', '$2a$07$user$');
$right   = crypt('leela123', '$2a$07$user$');
$wrong = crypt('leeeela233',  '$2a$07$usedwrongstring$');
var_dump(hash_equals($expected, $right));
var_dump(hash_equals($expected, $wrong));
?>
Copier après la connexion

Output:

Fonction de hachage en PHP

Example #3

Code:

<?php
$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>
Copier après la connexion

Output:

Fonction de hachage en PHP

Conclusion

In this article, we discussed what is hashing and its various algorithms. Also, we discussed a few hashing functions used in PHP to encrypt the data to prevent malicious and vulnerable attacks. Because of these attacks, the data is not secure and loss of data occurs. So, the hashing technique was introduced so that there will be no loss of data and it will be secured by various attacks.

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!

Étiquettes associées:
php
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal