hash init()

Från Wiki.linux.se
Version från den 26 oktober 2024 kl. 20.01 av Admin (diskussion | bidrag) (→‎Parametrar)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

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.