Scrypt é uma função de hash de senha especificamente projetada para resistir a ataques de força bruta em larga escala usando hardware personalizado.
Comparado ao bcrypt, o scrypt requer uma grande quantidade de recursos de memória, o que aumenta enormemente o custo de ataques usando ASIC, FPGA e hardware similar.
Descrição dos parâmetros:
• password: A senha a ser hashada
• salt: Valor de salt para aumentar a segurança
• N: Parâmetro de custo CPU/memória (deve ser uma potência de 2)
• r: Parâmetro de tamanho do bloco
• p: Parâmetro de paralelização
• dkLen: Comprimento da chave derivada (bytes)
Configurações recomendadas: N=16384, r=8, p=1, dkLen=32. O hash é unidirecional e não pode ser revertido para recuperar a senha original.