função hash()
A função hash() retorna um hash de 128 bits, 160 bits ou 256 bits dos dados de entrada, dependendo do algoritmo que você selecionar.
Essa função fornece valores de retorno distintos 2128- 2256 e é destinada a propósitos criptográficos. A função quase nunca produz a mesma saída para duas entradas diferentes.
- A função hash() é geralmente muito mais lenta do que a função hash4() ou hash8() na execução de cálculos. Além disso, a função hash() retorna um valor varchar binário de 16 a 32 bytes; comparar valores varchar binários leva mais tempo do que comparar valores de números inteiros e, portanto, aumenta os tempos de execução de consulta. Se você precisar de velocidade na geração de hash e na comparação ou se tudo que você precisa for uma função de consulta unidirecional simples, use a função hash4() ou hash8() em vez da função hash().
- As colunas com valores de hash da função ' hash() não podem ser mapeadas por zona e não usam outras técnicas de desempenho de consulta Netezza Performance Server.
Sintaxe
varchar = hash(varchar data [, int algorithm]);
nvarchar = hash(nvarchar data [, int algorithm]);
O valor
data especifica o valor varchar ou nvarchar para hash.
O valor ' algorithm é um código inteiro, cujo padrão é 0. Os algoritmos disponíveis e os tamanhos dos valores de hash resultantes são mostrados na tabela a seguir:
| Código | Descrição | Resultado |
|---|---|---|
| 0 | MD5 | Hash de 128 bits |
| 1 | SHA-1 | Hash de 160 bits |
| 2 | SHA-2 | Hash de 256 bits |
O algoritmo MD5 e o Secure Hash Algorithm (SHA) são algoritmos de trecho da mensagem que são derivados de MD4. As funções hash de SHA são o resultado de um esforço da National Security Agency (NSA) em fornecer recursos de hashing criptográficos fortes.
Retorna
A função retorna os dados submetidos a hash. O tipo de retorno é um valor varchar binário de 16 a 32 bytes.
Exemplo
select hash('Netezza',0);
HASH
------------------
Ã
®dïO=±NEÂ
ÂÂÃ
(1 row)