Histórico da Página
...
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
cText | character | Texto(senha) em formato plaintext que será utilizada para gerar o Hash Digest via Argon2id. | X | |
cSalt | character | Texto que será utilizado pelo algoritmo para geração do hash. Garante que, se dois usuários tiverem a mesma senha, seus hashes finais sejam completamente diferentes no banco de dados (isso se o Salt de ambos também for diferente). | X | |
nMemoryCost | numeric | Define a quantidade de memória RAM (em Kibibytes) que o algoritmo é obrigado a usar. Valor padrão = 65536 | ||
nIterations | numeric | Define o número de passagens (iterações) que o algoritmo faz sobre a memória alocada. Valor padrão = 2 | ||
nThreads | numeric | Define o número de núcleos (threads) do processador que trabalharão simultaneamente para calcular o hash. Valor Sempre deve ser menor que o parâmetro nLanes. Valor padrão = 2 | ||
nHashLen | numeric | Define o tamanho final do hash gerado (o retorno da função). Valor padrão = 128 | ||
nLanes | numeric | Define em quantas partes a memória do Argon2id é dividida para processamento paralelo. Valor padrão = 2 Sempre deve ser maior que o parâmetro nThreads. Valor padrão = nThreads |
Retorno
Em caso de sucesso, retorna o hash digest gerado no tamanho do nHashLen definido na chamada da função.
Em caso de falha, retorna uma string vazia ("").
Importante
- É imprescindível salvar todos os argumentos (com exceção da senha) que foram utilizados para geração do hash pois os exatos mesmos parâmetros são necessários para validar a senha no futuro. Para maior segurança, é aconselhável que cada senha tenha seu próprio Salt aleatório.
...
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
User Function ExemploArgon2id() Local argon2id_hash := "" Local cPassword := "123456" Local cSalt := "saltsalt" Local nMemoryCost := 65536 Local nIterations := 2 Local nThreads := 2 Local nHashLen := 128 Local nLanes := 2 argon2id_hash := Argon2id(cPassword, cSalt, nMemoryCost, nIterations, nThreads, nHashLen, nLanes) Local argon2id_hash_size := len(argon2id_hash) conout(cValToChar(argon2id_hash_size)) Return |
Abrangência
26.3.0.0