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 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.
data
string | Uint8Array | ArrayBuffer Dados que serão usados no cálculo do código de verificação.
resultType
string | 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 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.
data
string | 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 resultType
string | 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 data
string | Uint8Array | ArrayBuffer Dados que serão acumulados para cálculo do código de verificação.
Returns:
Instância desta classe.
- Type
- HMAC