Calculez le hachage SHA-1 du fichier texte "test.txt" :
<?php$filename = "test.txt";$sha1file = sha1_file($filename);echo $sha1file;?>Le code ci-dessus affichera :
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dLa fonction sha1_file() calcule le hachage SHA-1 d'un fichier.
La fonction sha1_file() utilise l'algorithme American Secure Hash1.
Explication de la RFC 3174 - Algorithme de hachage sécurisé américain 1 : SHA-1 produit une sortie de 160 bits appelée résumé du message. Le résumé du message peut être introduit dans un algorithme de signature qui génère ou vérifie la signature du message. Signer le résumé du message au lieu du message peut améliorer l'efficacité du processus, car la taille du résumé du message est généralement beaucoup plus petite que celle du message. Le vérificateur d'une signature numérique doit utiliser le même algorithme de hachage que le créateur de la signature numérique.
Renvoie le hachage SHA-1 calculé en cas de succès ou FALSE en cas d'échec.
sha1_file( fichier,brut )
paramètre | décrire |
---|---|
déposer | Requis. Spécifie le fichier à calculer. |
brut | Facultatif. Une valeur booléenne spécifiant le format de sortie hexadécimal ou binaire : VRAI - format binaire brut de 20 caractères FAUX - Valeur par défaut. Nombre hexadécimal de 40 caractères |
Valeur de retour : | Renvoie le hachage SHA-1 calculé en cas de succès ou FALSE en cas d'échec. |
---|---|
Version PHP : | 4.3.0+ |
Journal de mise à jour : | En PHP 5.0, le paramètre raw devient facultatif. Depuis PHP 5.1, sha1_file() peut être utilisé via l'encapsulation. Par exemple : sha1_file("http://w3cschool.cc/..") |
Stockez le hachage SHA-1 de « test.txt » dans le fichier :
<?php$sha1file = sha1_file("test.txt");file_put_contents("sha1file.txt",$sha1file);?>Détectez si "test.txt" a été modifié (c'est-à-dire si le hachage SHA-1 a été modifié) :
<?php$sha1file = file_get_contents("sha1file.txt");if (sha1_file("test.txt") == $sha1file) { echo "Le fichier est ok." }else { echo "Le fichier a été modifié ."; }?>Le code ci-dessus affichera :
Le fichier est ok.