Ce face hash_hmac_algos
Nu toți algoritmii din hash_algos() sunt potriviți pentru HMAC. Sumele de control (crc32b, adler32) și algoritmii rapizi necriptografici (xxh3, murmur3a, fnv) lipsesc din această listă. hash_hmac aruncă ValueError pentru un algoritm care nu este aici.
Ce returnează
Un tablou cu numele algoritmilor acceptați pentru HMAC.
Exemple
Exemplul 1: Ce poate și ce nu poate fi folosit pentru HMAC
<?php
$hmac = hash_hmac_algos();
foreach (["sha256", "sha3-256", "crc32b", "xxh3"] as $algo) {
echo $algo . ": " . (in_array($algo, $hmac, true) ? "da" : "nu") . "\n";
}
Rezultat
sha256: da
sha3-256: da
crc32b: nu
xxh3: nu
Greșeli frecvente
- Alegi pentru HMAC un algoritm rapid, ca
xxh3, ca să câștigi viteză. Nu este acceptat, și oricum nu oferă securitate. Foloseștesha256.
Comenzi înrudite
hash_hmac / hash_equals: Calculează o semnătură HMAC: o amprentă care depinde și de o cheie secretă. Dovedește că datele nu au fost modificate.hash: Calculează amprenta unui text cu algoritmul ales: sha256, sha512, sha3-256, xxh3 și multe altele.