Delphi中的SHA256算法

在Delphi xe中可以直接使用 TIdHashSHA256 来实现SHA256算法,代码如下

uses IdHashSHA, IdSSLOpenSSLHeaders;


var SHA256 : TIdHashSHA256;

SHA256 := TIdHashSHA256.Create;
Password_p := LowerCase(SHA256.HashStringAsHex(Password_p));  //默认得出的字符串是大写的,这里转换成小写了
SHA256.Free;

initialization
IdSSLOpenSSLHeaders.Load(); // TIdHashSHA256 使用,否则会报内存错误

说明,这里一定要看,否则调用时会出现内存错误

1、initialization 中要调用 IdSSLOpenSSLHeaders.Load() 来初始化SSL库。

2、程序运行目录下,要包含 libeay32.dll 和 ssleay32.dll两个文件,这两个文件也是SSL库使用的。

3、如果上面两个步骤都有了,还是出现内存错误,可以检查一下 IdSSLOpenSSLHeaders.Load() 的返回值,如果返回失败,表示SSL库没有初始化成功,可能是两个动态库的版本不对应。

4、在Win 10下,需要将文件复制到Program file目录下,否则会出现 IdSSLOpenSSLHeaders.Load()调用失败,使用时出现内存错误。

你可能感兴趣的:(Delphi,Indy,delphi)