Funções de Hash
Funções de hash criptograficas e autenticação de mensagens HMAC.
Carregamento
local hash = require("hash")
Hashes Criptograficos
MD5
local hex = hash.md5("data")
local raw = hash.md5("data", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
SHA-1
local hex = hash.sha1("data")
local raw = hash.sha1("data", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
SHA-256
local hex = hash.sha256("data")
local raw = hash.sha256("data", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
SHA-512
local hex = hash.sha512("data")
local raw = hash.sha512("data", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
Autenticação HMAC
HMAC-MD5
local hex = hash.hmac_md5("message", "secret")
local raw = hash.hmac_md5("message", "secret", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Mensagem para autenticar |
secret |
string | Chave secreta |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
HMAC-SHA1
local hex = hash.hmac_sha1("message", "secret")
local raw = hash.hmac_sha1("message", "secret", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Mensagem para autenticar |
secret |
string | Chave secreta |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
HMAC-SHA256
local hex = hash.hmac_sha256("message", "secret")
local raw = hash.hmac_sha256("message", "secret", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Mensagem para autenticar |
secret |
string | Chave secreta |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
HMAC-SHA512
local hex = hash.hmac_sha512("message", "secret")
local raw = hash.hmac_sha512("message", "secret", true)
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Mensagem para autenticar |
secret |
string | Chave secreta |
raw |
boolean? | Retornar bytes raw ao inves de hex |
Retorna: string, error
Hashes Não-Criptograficos
FNV-32
Hash rapido para hash tables e particionamento.
local n = hash.fnv32("data")
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
Retorna: number, error
FNV-64
Hash rapido com saida maior para menos colisoes.
local n = hash.fnv64("data")
| Parâmetro | Tipo | Descrição |
|---|---|---|
data |
string | Dados para hash |
Retorna: number, error
Erros
| Condição | Tipo | Retentável |
|---|---|---|
| Input não e string | errors.INVALID |
não |
| Secret não e string (HMAC) | errors.INVALID |
não |
Veja Error Handling para trabalhar com erros.