MD5 与 SHA 在 Delphi 中函数实现,加密密码

Posted hopesun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MD5 与 SHA 在 Delphi 中函数实现,加密密码相关的知识,希望对你有一定的参考价值。

MD5 与 SHA 在 Delphi 中函数实现。

为了加密密码,必须使用一种算法,查询资料,比较好的方法是使用:MD5等算法,参考:Delphi XE8 支持MD5

第一种方式是:引用 System.Hash 中的 THashMD5, (或者 THashSHA1,THashSHA2) 参考 官方文档。

                         http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Hash

      简单用法:  hashmd5 := THashMD5.Create.GetHashString(‘abc‘);         ‘abc’ 是你想加密的字符串,你提供。

       使用它计算的结果中,字符是小写。MD5 ("abc") =   900150983cd24fb0d6963f7d28e17f72

 

        另一种加密是:    hashsha1 := THashSHA1.Create.GetHashString(‘abc‘);

 

第二种方式是:使用  IdHashMessageDigest  ,产生的加密字符是:大写格式

                                比如:加密 ‘abc ’   MD5 ("abc") = 900150983CD24FB0D6963F7D28E17F72  

在单元中,引入Uses  IdHashMessageDigest,(也可以包括:,IdHash,IdGlobal, 不知道原因 !)

代码如下:

Uses  IdHashMessageDigest;

function MD5Encode(const str:string):String;     //定义一个公开函数

function MD5Encode(const str:string):String;
var
    //引用 IdHashMessageDigest,IdHash,IdGlobal 空间
    AMD5Encode:TIdHashMessageDigest5;
begin
    AMD5Encode:=TIdHashMessageDigest5.Create;            //创建实例

    try
        Result  :=  AMD5Encode.HashStringAsHex(str);      //这是实现!

    finally
        AMD5Encode.Free;
    end;
end;

   

 










以上是关于MD5 与 SHA 在 Delphi 中函数实现,加密密码的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server内置函数实现MD5加密

Delphi中MD5实现方法(转)

CRC32+大小与 MD5/SHA1

MD5,sha1,sha256分别输出多少位啊?

MD5、sha1、sha256分别输出多少位?

MD5、SHA1、CRC32是啥;作用是啥?