bcrypt
1.0.8
一个库来帮助您哈希密码。您可以在Wikipedia以及以下文章中阅读有关BCrypt的信息:如何安全存储密码

为了放松,我建议使用Boss (Delphi的依赖项经理)进行安装,只需在终端上运行以下命令(例如Windows PowerShell):
boss install https://github.com/viniciussanchez/bcrypt
如果选择手动安装,只需在项目>“选项>“资源编译器”>“目录和条件”> Include File Search Path中添加以下文件夹
../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个字符。

该代码来自一些来源: