Fonction de hachage en PHP - Comment fonctionne la fonction de hachage en php avec la syntaxe?

Table des matières:

Anonim

Introduction à la fonction de hachage en PHP?

Avant de comprendre le concept de fonction de hachage en PHP, comprenons ce qu'est le hachage?

Le hachage est la transformation d'un ensemble de caractères en une valeur ou une clé de longueur fixe qui représente la chaîne d'origine. Le hachage est également utilisé dans la base de données pour indexer et récupérer des éléments, car il devient plus rapide et plus facile de trouver un élément à l'aide de clés hachées plus courtes que de le trouver avec la valeur d'origine. Il est également utilisé dans de nombreux algorithmes de chiffrement d'un point de vue commercial.

En PHP, des fonctions de hachage et des algorithmes sont utilisés pour crypter les données afin que la recherche devienne plus facile et plus rapide que la valeur d'origine. Les fonctions de hachage sont utilisées afin de faciliter le processus car il indexe la valeur d'origine et il est utilisé à chaque fois où cela est nécessaire. Il s'agit toujours d'une opération à sens unique. Une bonne fonction de hachage ne doit pas produire la même sortie ou la même valeur de hachage pour deux ou plusieurs entrées différentes entrées par l'utilisateur. Si la fonction de hachage produit la même sortie pour deux entrées différentes, ce processus est appelé collision.

Comment fonctionne la fonction de hachage et sa syntaxe?

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

Les fonctions de hachage chiffrent les données dans leur véritable forme sans changer leur signification. Ainsi, lorsqu'un utilisateur entre les données sous leur forme réelle, les données sont cryptées dans le backend et ainsi l'authentification et l'autorisation du processus de données se produisent. 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 pour ne pas poursuivre le processus.

1. MD5 ()

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

Syntaxe: chaîne md5 ($ chaîne, $ getRawOutput)

La syntaxe ci-dessus indiquait la chaîne $ 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, il doit être défini sur VRAI booléen 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)

2. SHA1 ()

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

Syntaxe: chaîne sha1 ($ chaîne, $ getRawOutput)

La syntaxe ci-dessus indiquait la chaîne $ 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, il doit être défini sur VRAI booléen 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)

Fonction de hachage en PHP

Voici 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 VRAI lorsque les chaînes sont égales et FAUX si les chaînes ne sont pas égales. Les deux arguments doivent être les mêmes pour comparer les chaînes, sinon il retournera immédiatement faux 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 condensé 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 en minuscules. 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. dans une chaîne ou une variable et passé à l'une des fonctions.

4. Hash_copy

Cette fonction est utilisée pour copier le contexte de hachage. La chaîne passée en entrée de 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 passée à cette fonction. Cette fonction renvoie une forme hachée de la sortie donnée par la fonction hash_init.

Exemples de fonction de hachage en PHP

Ce qui suit est une liste des fonctions de hachage en PHP expliquées en détail,

Exemple 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";
?>

Production:

Exemple # 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));
?>

Production:

Exemple # 3

Code:

<_?php
$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>

Production:

Conclusion

Dans cet article, nous avons discuté de ce qu'est le hachage et de ses différents algorithmes. Nous avons également discuté de quelques fonctions de hachage utilisées en PHP pour crypter les données afin de prévenir les attaques malveillantes et vulnérables. En raison de ces attaques, les données ne sont pas sécurisées et une perte de données se produit. Ainsi, la technique de hachage a été introduite afin qu'il n'y ait pas de perte de données et qu'elle soit sécurisée par diverses attaques.

Articles recommandés

Ceci est un guide de la fonction de hachage en PHP. Nous discutons ici de son fonctionnement, de sa syntaxe et de sa fonction de hachage dans le top 4 en PHP avec des exemples et l'implémentation de code. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. Types de fonctions en PHP avec des exemples
  2. Comment vérifier Palindrome en PHP?
  3. Tri des tableaux associatifs en PHP
  4. Comment convertir le format de date en PHP?