hash_final în PHP

Securitate și hash PHP 5.1.2+

Încheie un calcul de amprentă incremental și returnează rezultatul.

Sintaxă
hash_final(HashContext $context, bool $binary = false): string

Ce face hash_final

hash_final este ultimul pas după hash_init și hash_update. Returnează amprenta ca text hexazecimal (sau binar, cu true) și închide contextul, care nu mai poate fi folosit.

Parametri

Parametru Descriere
$context Contextul de calcul.
$binary Opțional. true pentru rezultat binar.

Ce returnează

Amprenta finală.

Exemple

Exemplul 1: Hexazecimal și binar

<?php
$ctx = hash_init("sha256");
hash_update($ctx, "dexblog");
$copie = hash_copy($ctx);

echo hash_final($ctx) . "\n";
echo strlen(hash_final($copie, true)) . " octeți binari";

Rezultat

312ec798280e370f7bf8e9d933ad7138a69592a6dbad34a4b51e166b7e644f11
32 octeți binari

Greșeli frecvente

  • Apelezi hash_final de două ori pe același context. Al doilea apel aruncă TypeError. Salvează rezultatul într-o variabilă.

Comenzi înrudite

  • hash_init: Pornește un calcul de amprentă incremental: datele se adaugă pe bucăți, iar rezultatul se obține la final.
  • hash_update: Adaugă o bucată de date la un calcul de amprentă început cu hash_init.
  • hash_copy: Copiază un calcul de amprentă incremental, ca să poți obține un rezultat intermediar și apoi să continui.