package
0.0.0-20240816212724-65f4762e7b6c
Repository: https://github.com/abdotop/tools.git
Documentation: pkg.go.dev
# README
Package Kryptonite
Le package kryptonite
offre des fonctionnalités de sécurité pour le hachage et la vérification des mots de passe en utilisant des techniques cryptographiques avancées.
Fonctionnalités
- Génération de hachage sécurisée : Utilise PBKDF2 avec HMAC-SHA-256 pour créer un hachage sécurisé des mots de passe.
- Vérification de mot de passe : Permet de comparer un mot de passe fourni avec un hachage pour vérifier l'authenticité du mot de passe.
- Gestion des erreurs : Utilise un canal pour gérer les erreurs de manière asynchrone.
Installation
Pour utiliser ce package, importez-le dans votre projet Go :
import "github.com/abdotop/tools/kryptonite"
Utilisation
Création d'une instance
Créez une nouvelle instance de kryptonite
en fournissant une clé secrète et une fonction de hachage :
k, err := kryptonite.New("votre_clé_secrète", sha256.New)
if err != nil {
// Gérer l'erreur
}
Génération de hachage
Générez un hachage sécurisé pour un mot de passe :
hash, err := k.GenerateHash("votre_mot_de_passe", []byte("votre_sel"))
if err != nil {
// Gérer l'erreur
}
Vérification de mot de passe
Vérifiez si un mot de passe correspond au hachage :
err = k.CompareHashAndPassword("hachage_enregistré", "mot_de_passe_à_vérifier", []byte("votre_sel"))
if err != nil {
// Gérer l'erreur
}
Gestion des erreurs
Gérez les erreurs de manière asynchrone en utilisant un callback :
k.OnError(func(e error) {
fmt.Println("Erreur détectée :", e)
})
Licence
Ce package est distribué sous la licence MIT. Veuillez consulter le fichier LICENSE
pour plus de détails.
# Functions
New creates a new Kryptonite instance with the secret key and the hash function ex: sha256.
# Structs
Kryptonite is a struct that contains the secret key and the hash function.