Une bibliothèque pour vous aider à hacher les mots de passe. Vous pouvez lire sur Bcrypt dans Wikipedia ainsi que dans l'article suivant: Comment stocker un mot de passe en toute sécurité

Pour plus de facilité, je recommande d'utiliser le boss (Dependency Manager pour Delphi) pour l'installation, simplement en exécutant la commande ci-dessous sur un terminal (Windows PowerShell par exemple):
boss install https://github.com/viniciussanchez/bcrypt
Si vous choisissez d'installer manuellement, ajoutez simplement les dossiers suivants à votre projet, dans le projet> Options> Compiler de ressource> Répertoires et conditionnels> Inclure le chemin de recherche de fichiers
../bcrypt/src
var
LHash: string;
begin
LHash := TBCrypt.GenerateHash(password, cost, type );
end ;Où
password est le mot de passe à hachagetype est l'un des thashtype.php, thashtype.bsd, ou thashtype.default, thashType.bsd est la valeur par défaut cost est d'un nombre entre 10 et 30, la valeur par défaut est 10 var
LVerify : Boolean;
begin
LVerify := TBCrypt.CompareHash(password, hash);
end ;Où
password est le mot de passe à vérifierhash est un hachage généré, similaire à $2y$12$GuC.Gk2YDsp8Yvga.IuSNOWM0fxEIsAEaWC1hqEI14Wa.7Ps3iYFq var
LHashInfo: THashInfo;
LSalt, LHash: string;
LHashType: THashType;
LCost: Word;
begin
LHashInfo := TBCrypt.GetHashInfo(hash);
LCost := LHashInfo.Cost;
LSalt := LHashInfo.Salt;
LHash := LHashInfo.Hash;
LHashType := LHashInfo.& Type ;Où
hash est un hachage généré var
LNeeds : Boolean;
begin
LNeeds := TBCrypt.NeedsRehash(hash, cost);
end ;Où
hash est un hachage, similaire à $2y$12$GuC.Gk2YDsp8Yvga.IuSNOWM0fxEIsAEaWC1hqEI14Wa.7Ps3iYFqcost est d'un nombre entre 10 et 30, la valeur par défaut est 10Les caractères qui composent le hachage résultant sont:
./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Les hachages résultants auront 60 caractères.

Le code pour cela vient de quelques sources: