new HMAC(hash, key)
Implementação do algoritmo de código de autenticação de mensagem HMAC. Como os demais algoritmos de geração de códigos de autenticação de mensagens (MAC), ele pode ser utilizado para verificar simultaneamente a integridade e a autenticidade dos dados de uma mensagem.
Esta classe trata as strings como se fossem uma sequência de bytes no formato conhecido
como "Binary String", onde cada caractere da string representa um byte do conteúdo binário. É
importante observar que a codificação adotada pode ser diferente em outras plataformas, como o
Node.js. Para garantir compatibilidade com o hash calculado em outras plataformas, prefira
sempre informar valores do tipo Uint8Array ou ArrayBuffer, evitando a codificação
implícita das strings.
Parameters:
| Name | Type | Description |
|---|---|---|
hash |
string | Função hash que deve ser utilizada pelo algoritmo HMAC. Valores possíveis: 'md5', 'sha1', 'sha224', 'sha256', 'sha384' e 'sha512'. |
key |
string | Uint8Array | ArrayBuffer | Chave criptográfica secreta. |
Example
var HMAC = require('@nginstack/engine/lib/crypto/HMAC.js');
const hmac = new HMAC('sha256', 'secret');
hmac.update(new Uint8Array([0, 1, 2]));
hmac.update(new Uint8Array([3, 4]));
hmac.hexDigest(); // => '454327ac7188bad3eb738ec24d7830a748779568ffe432594aa56acee0416d2f'
Methods
-
<static> digest(hash, key, data [, resultType])
-
Método de classe que calcula o HMAC dos dados de uma mensagem e retorna o código de autenticação em sua representação binária.
Parameters:
Name Type Argument Description hashstring Função hash que deve ser utilizada pelo algoritmo HMAC. Valores possíveis: 'md5', 'sha1', 'sha224', 'sha256', 'sha384' e 'sha512'.
keystring | Uint8Array | ArrayBuffer Chave criptográfica secreta.
datastring | Uint8Array | ArrayBuffer Dados que serão usados no cálculo do código de verificação.
resultTypestring | DigestType <optional>
O tipo do digest gerado. Os valores possíveis são "binarystring", "arraybuffer" e "uint8array". Caso não seja informado, será retornada uma string no formato "Binary String", onde cada caractere da string representa um byte do conteúdo binário.
Returns:
HMAC dos dados acumulados.
- Type
- string | Uint8Array | ArrayBuffer
-
<static> hexDigest(hash, key, data)
-
Método de classe que calcula o HMAC dos dados de uma mensagem e retorna o código de autenticação no formato hexadecimal.
Parameters:
Name Type Description hashstring Função hash que deve ser utilizada pelo algoritmo HMAC. Valores possíveis: 'md5', 'sha1', 'sha224', 'sha256', 'sha384' e 'sha512'.
keystring | Uint8Array | ArrayBuffer Chave criptográfica secreta.
datastring | Uint8Array | ArrayBuffer Dados que serão usados no cálculo do código de verificação.
Returns:
HMAC dos dados acumulados em codificação hexadecimal em caixa baixa.
- Type
- string
-
digest( [resultType])
-
Retorna o código de autenticação em formato binário.
Parameters:
Name Type Argument Description resultTypestring | DigestType <optional>
O tipo do digest gerado. Os valores possíveis são "binarystring", "arraybuffer" e "uint8array". Caso não seja informado, será retornada uma string no formato "Binary String", onde cada caractere da string representa um byte do conteúdo binário.
Returns:
HMAC dos dados acumulados.
- Type
- string
-
hexDigest()
-
Retorna o código de autenticação em formato hexadecimal.
Returns:
HMAC dos dados acumulados em codificação hexadecimal em caixa baixa.
- Type
- string
-
update(data)
-
Acumula os dados para o cálculo do código de verificação.
Parameters:
Name Type Description datastring | Uint8Array | ArrayBuffer Dados que serão acumulados para cálculo do código de verificação.
Returns:
Instância desta classe.
- Type
- HMAC