PHP - Função Hash init ()

Definição e Uso

o hash_init() A função inicializa um hashcontext incremental que pode ser usado com outras funções hash como hash_update (), hash_final () etc. Leva a entrada como um algoritmo hash e a saída como um contexto hash.

Um hashContext é gerado com base no hash_algo usado dentro do hash_init (). Você pode atualizar seus dados ou mensagem com o hashcontext usando a função hash_update () e obter o hash final usando hash_final ().

Sintaxe

hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] ) : HashContext

Parâmetros

Sr. Não Parâmetro e Descrição
1

algo

Nome do algoritmo de hash. Há uma grande lista de algoritmos disponíveis com hash, alguns importantes são md5, sha256, etc.

Para obter a lista completa de algoritmos suportados, use a função hash hash_algos ()

2

options

Há apenas uma opção com suporte e que é HASH_HMAC. Se você estiver usando opções, a chave também é obrigatória.

3

key

Se HASH_HMAC for usado como uma opção, a chave também deve ser fornecida e será uma chave secreta compartilhada que será usada com o método de hash HMAC.

Valores Retornados

A função PHP hash_init () retorna um contexto de hash. O contexto de hash pode ser usado com outra função hash como hash_update (), hash_update_stream (), hash_update_file () e hash_final ().

Versão PHP

Esta função funcionará na versão do PHP superior a 5.1.2.

Exemplo 1

Para gerar contexto de hashing -

<?php
   $hash_context = hash_init('md5');
   hash_update($hash_context, 'Testing php');
   hash_update($hash_context, ' hash functions.');
   echo hash_final($hash_context);
?>

Resultado

Isso produzirá o seguinte resultado -

e4310012c89a4b8479fd83694a2a3a31

Exemplo 2

Usando hash_init () com hash_copy () -

<?php
   $hash_context = hash_init("md5");
   hash_update($hash_context, "Welcome To Tutorialspoint");
   $hash_copy= hash_copy($hash_context);
   echo hash_final($hash_context);
   echo "<br/>";
   hash_update($hash_copy,  "Welcome To Tutorialspoint");
   echo hash_final($hash_copy);
?>

Isso produzirá o seguinte resultado -

6211420491a571f89f970683221d4480<br/>d0b25da996bf035057aba79082c53b30