<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie n'a rien à voir avec le contenu de l'article,Peut être utilisé comme début</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Démarrer le texte</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>hash_hmac_file() et hash_file() Quelle est la différence entre les deux fonctions?Comment choisir d'utiliser</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>exister PHP milieu,Le hachage du fichier de traitement est une exigence commune,尤其是exister验证文件完整性或防篡改时。PHP Deux fonctions communes sont fournies:<code>hash_file() "; Echo " Cette fonction est caractérisée par la génération rapidement du résumé des fichiers, utilisé pour vérifier l'intégrité des fichiers ou la déduplication simple, mais il n'a pas la possibilité de relancer la preuve elle-même.
" ; écho "HASH_HMAC_FILE () est une fonction de génération de hachage de fichiers basée sur HMAC (code d'authentification de message basé sur le hash), et nécessite une clé supplémentaire. Exemple d'utilisation:
" ; écho "\ $ key = 'my_secret_key'; \ $ hmac = hash_hmac_file ('sha256', '/path/to/file.txt', \ $ key); echo \ $ hmac;" ; Echo "
La fonction de HMAC est non seulement de générer des valeurs de hachage, mais aussi de s'assurer que les données n'ont pas été falsifiées. Parce que la clé est utilisée lors du calcul du hachage, même si l'attaquant obtient le fichier, il ne peut pas forger la valeur HMAC correcte sans connaître la clé.
" ; écho "S'il s'agit simplement de vérifier que le fichier est corrompu pendant la transmission, hash_file () est suffisant. Mais si le fichier doit être empêché d'être altéré, ou si une vérification de sécurité est requise, hash_hmac_file () est un meilleur choix.
" ; écho "En résumé: hash_file () a tendance à être un contrôle d'intégrité, et hash_hmac_file () a tendance à être sûr et à imprégner. Choisissez d'utiliser en fonction des besoins réels.
" ; ?>