bcrypt
1.0.8
Библиотека, чтобы помочь вам хэш -пароли. Вы можете прочитать о Bcrypt в Википедии, а также в следующей статье: Как безопасно хранить пароль

Для легкостью я рекомендую использовать Boss (Deving Manager для Delphi) для установки, просто запустив команду ниже на терминале (например, Windows PowerShell):
boss install https://github.com/viniciussanchez/bcrypt
Если вы решите установить вручную, просто добавьте следующие папки в свой проект, в Project> Options> Resource Compiler> Directory and Conditionals> Включите путь поиска файлов
../bcrypt/src
var
LHash: string;
begin
LHash := TBCrypt.GenerateHash(password, cost, type );
end ;Где
password - это пароль, который нужно хэшироватьtype - один из thashtype.php, thashtype.bsd или thashtype.default, thashtype.bsd - по умолчанию cost - это число от 10 до 30, дефолт - 10 var
LVerify : Boolean;
begin
LVerify := TBCrypt.CompareHash(password, hash);
end ;Где
password - это пароль, который нужно проверитьhash - это хэш, сгенерированный, аналогичный $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 ;Где
hash - это хэш var
LNeeds : Boolean;
begin
LNeeds := TBCrypt.NeedsRehash(hash, cost);
end ;Где
hash - это хэш, аналогичный $2y$12$GuC.Gk2YDsp8Yvga.IuSNOWM0fxEIsAEaWC1hqEI14Wa.7Ps3iYFqcost - это число от 10 до 30, дефолт - 10Персонажи, которые составляют результирующие хэш, являются:
./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Результирующие хэши будут длиной 60 символов.

Код для этого исходит из нескольких источников: