hash init()
hash_init
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initierar ett inkrementellt hash-kontekst
Beskrivning
`hash_init(string $algo, int $flags = 0, #[\SensitiveParameter] string $key = "", array $options = []): HashContext`
Parametrar
- algo:
Namnet på den valda hash-algoritmen (t.ex. "sha256"). För en lista över stödda algoritmer, se hash_algos().
Notering: Icke-kryptografiska hash-funktioner är inte tillåtna om flaggan HASH_HMAC är specificerad.
- flags:
Valfria inställningar för hash-generering, stöder för närvarande endast ett alternativ: HASH_HMAC. När specificerat måste key anges.
- key:
När HASH_HMAC specificeras för flags måste en delad hemlig nyckel som ska användas med HMAC-hashningsmetoden anges i denna parameter.
- options:
En array med alternativ för olika hash-algoritmer. För närvarande stöds endast "seed"-parametern för MurmurHash-varianterna.
Returvärden
Returnerar ett Hashing-kontekst för användning med hash_update(), hash_update_stream(), hash_update_file() och hash_final().
Fel/Undantag
Kastar ett ValueError-undantag om algo är okänt eller är en icke-kryptografisk hash-funktion, eller om key är tomt.
Ändringslogg
Version | Beskrivning |
---|---|
8.1.0 | options-parametern har lagts till. |
8.0.0 | Kastar nu ett ValueError-undantag om algo är okänt eller är en icke-kryptografisk hash-funktion, eller om key är tomt. Tidigare returnerades false och ett E_WARNING-meddelande emitterades. |
7.2.0 | Användning av icke-kryptografiska hash-funktioner (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) med HASH_HMAC inaktiverades. |
7.2.0 | Returnerar HashContext istället för resurs. |
Exempel
Exempel #1 Inkrementellt hash-exempel
<?php $hash = hash('sha256', 'The quick brown fox jumped over the lazy dog.'); $ctx = hash_init('sha256'); hash_update($ctx, 'The quick brown fox '); hash_update($ctx, 'jumped over the lazy dog.'); $incremental_hash = hash_final($ctx); echo $incremental_hash, PHP_EOL; var_dump($hash === $incremental_hash); ?>
Ovanstående exempel kommer att ge följande resultat:
68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483 bool(true)
Se även
- hash_algos() — Returnerar en lista över registrerade hash-algoritmer
- hash_update() — Tillför data till ett aktivt hash-kontekst
- hash_update_file() — Tillför data från en fil till ett aktivt hash-kontekst
- hash_update_stream() — Tillför data från en öppen ström till ett aktivt hash-kontekst
- hash_final() — Slutför ett inkrementellt hash och returnerar det resulterande sammandraget
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.hash-init.php
PHP Funktioner Funktionsreferens
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp och Datorservice som har sponsrat Linux.se med webserver.