(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Inicializa um contexto de hash incremental
$algo,$flags = 0,$key = "",$options = []
algo
       Nome do algoritmo de hash selecionado (por exemplo, "sha256").
       Para uma lista de algoritmos suportados, veja hash_algos().
       
Nota:
Funções de hash não criptográficas não são permitidas se o sinalizador
HASH_HMACfor especificado.
flags
       Configurações opcionais para geração de hash, atualmente suporta apenas uma opção:
       HASH_HMAC. Quando especificado, o key
       precisa ser especificado.
      
key
       Quando HASH_HMAC é especificado para flags,
       uma chave secreta compartilhada a ser usada com o método de hash HMAC deve ser fornecida neste
       parâmetro.
      
options
       Um array de opções para os vários algoritmos de hash.
       Atualmente, apenas o parâmetro "seed" é
       suportado pelas variantes MurmurHash.
      
Retorna um contexto de hash para uso com hash_update(), hash_update_stream(), hash_update_file(), e hash_final().
algo for desconhecido ou for uma função hash não criptográfica
     ou se key estiver vazio.
    
   options agora emitirá um
     erro E_DEPRECATED porque elas podem ser interpretadas
     incorretamente.
     Isso se tornará um ValueError no
     futuro.
    
   
| Versão | Descrição | 
|---|---|
| 8.4.0 | Passar opções de um tipo errado foi descontinuado. | 
| 8.1.0 | O parâmetro optionsfoi adicionado. | 
| 8.0.0 | Agora lança uma exceção ValueError se o algofor desconhecido ou for uma função hash não criptográfica
        ou sekeyestiver vazio. Anteriormente,falseera retornado e uma mensagemE_WARNINGera
        emitida. | 
| 7.2.0 | O uso de funções hash não criptográficas (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) com HASH_HMACfoi desabilitado. | 
| 7.2.0 | Retorna HashContext em vez de recurso. | 
Exemplo #1 Exemplo de hash incremental
<?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);
?>O exemplo acima produzirá:
68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483 bool(true)
