hash hmac()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

hash_hmac

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac — Genererar ett nyckelbundet hashvärde med HMAC-metoden

Beskrivning

`hash_hmac(string $algo, string $data, #[\SensitiveParameter] string $key, bool $binary = false): string`

Parametrar

algo: Namnet på den valda hash-algoritmen (t.ex. "sha256"). För en lista över stödda algoritmer, se hash_hmac_algos().

Notering: Icke-kryptografiska hash-funktioner är inte tillåtna.

data: Meddelandet som ska hashas.

key: Delad hemlig nyckel som används för att generera HMAC-varianten av meddelandesammandraget.

binary: Om satt till true returneras råa binära data. false returnerar hexadecimala tecken i små bokstäver.

Returvärden

Returnerar en sträng som innehåller det beräknade meddelandesammandraget som hexadecimala tecken i små bokstäver, om inte binary är satt till true, i vilket fall den råa binära representationen av meddelandesammandraget returneras.

Fel/Undantag

Kastar ett ValueError-undantag om algo är okänt eller är en icke-kryptografisk hash-funktion.

Ändringslogg

Version Beskrivning
8.0.0 Kastar nu ett ValueError-undantag om algo är okänt eller är en icke-kryptografisk hash-funktion; tidigare returnerades false istället.
7.2.0 Användning av icke-kryptografiska hash-funktioner (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) inaktiverades.

Exempel

Exempel #1 hash_hmac()-exempel

<?php
echo hash_hmac('sha256', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

Ovanstående exempel kommer att ge följande resultat:

9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b

Se även

  • hash_hmac_algos() — Returnerar en lista över registrerade hash-algoritmer som passar för hash_hmac
  • hash_hmac_file() — Genererar ett nyckelbundet hashvärde med HMAC-metoden och innehållet i en given fil
  • hash_equals() — Säker jämförelse av strängar mot timingattacker