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