bcrypt: Algoritmo de encriptación para Go/Golang. Es utilizado idealmente para generar, almacenar y validar contraseñas de usuarios.
Siempre que se almacen contraseñas en las bases de datos, estas deberían estar encriptadas. El algoritmo bcrypt es ideal para realizar esta tarea.
Este paquete es un envoltorio del paquete nativo de Go/Golang: "golang.org/x/crypto/bcrypt".
Simplemente expone dos funciones en español, con la idea de agilizar el desarrollo.
Para instalar el paquete utilice la siguiente sentencia:
go get -u github.com/fabianpallares/bcrypt
Para generar un hash de una contraseña recibida, utilizar la siguiente función:
package main
import (
"fmt"
"github.com/fabianpallares/bcrypt"
)
func main() {
hash, err := bcrypt.Encriptar("EstaEsUnaClave")
if err != nil {
// tratar el error
}
fmt.Println("El hash generado es:", hash)
}
Para validar la contraseña recibida (tipo texto) contra el hash almacenado, utilizar la siguiente función:
package main
import (
"fmt"
"github.com/fabianpallares/bcrypt"
)
func main() {
clave := "EstaEsUnaClave"
hash, err := bcrypt.Encriptar(clave)
if err != nil {
// tratar el error
}
fmt.Println("El hash generado es:", hash)
// validar la contraseña con el hash:
if esValida := bcrypt.Validar(clave, hash); !esValida {
fmt.Println("La clave recibida no es válida")
}
fmt.Println("La clave recibida es válida!")
}