Ce face hash_copy
hash_final închide contextul. Dacă ai nevoie de amprenta datelor de până acum, dar vrei să continui adăugarea, faci o copie cu hash_copy și apelezi hash_final pe copie. Originalul rămâne deschis.
Parametri
| Parametru | Descriere |
|---|---|
$context |
Contextul copiat. |
Ce returnează
Un context nou, independent.
Exemple
Exemplul 1: Amprentă intermediară și finală
<?php
$ctx = hash_init("md5");
hash_update($ctx, "abc");
echo hash_final(hash_copy($ctx)) . " = " . md5("abc") . "\n";
hash_update($ctx, "def");
echo hash_final($ctx) . " = " . md5("abcdef");
Rezultat
900150983cd24fb0d6963f7d28e17f72 = 900150983cd24fb0d6963f7d28e17f72
e80b5017098950fc58aad83c8c14978e = e80b5017098950fc58aad83c8c14978e
Greșeli frecvente
- Copiezi cu
$copie = $ctx. Ambele variabile indică același obiect; închiderea uneia o închide și pe cealaltă. Foloseștehash_copy.
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_final: Încheie un calcul de amprentă incremental și returnează rezultatul.