Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultParams = &Argon2idParams{
Memory: 64 * 1024,
Iterations: 3,
Parallelism: 2,
SaltLength: 16,
KeyLength: 32,
}
DefaultParams son los parámetros por defecto y recomendados para Argon2id.
Functions ¶
func CheckPasswordHash ¶
CheckPasswordHash verifica una contraseña en texto plano contra un hash Argon2id almacenado.
func GenerateJWT ¶
GenerateJWT genera un nuevo token JWT para un usuario.
func HashPassword ¶
func HashPassword(password string, p *Argon2idParams) (string, error)
HashPassword genera un hash Argon2id para la contraseña dada. El formato del hash devuelto es: $argon2id$v=19$m=<memory>,t=<iterations>,p=<parallelism>$<salt_base64>$<hash_base64>
Types ¶
type Argon2idParams ¶
type Argon2idParams struct {
Memory uint32 // Memoria en KiB
Iterations uint32 // Número de iteraciones
Parallelism uint8 // Grado de paralelismo (número de hilos)
SaltLength uint32 // Longitud del salt en bytes
KeyLength uint32 // Longitud de la clave derivada (hash) en bytes
}
Argon2idParams define los parámetros para el hashing Argon2id. Estos son valores recomendados por OWASP. Ajusta según tus necesidades y pruebas de rendimiento.
func DecodeHash ¶
func DecodeHash(encodedHash string) (p *Argon2idParams, salt, hash []byte, err error)
DecodeHash parsea una cadena de hash Argon2id y extrae los parámetros, salt y hash.
type Claims ¶
type Claims struct {
UserID uint `json:"user_id"`
Username string `json:"username"`
Role models.Role `json:"role"`
jwt.RegisteredClaims
}
Claims define la estructura de los claims para el token JWT.
func ValidateJWT ¶
ValidateJWT valida un token JWT y devuelve los claims si es válido.