zoukankan      html  css  js  c++  java
  • system.hash.pas

    system.hash.pas

    delphi xe8开始提供system.hash.pas。

    xe10.4.1版本,提供有几个记录:

    THash = record

    THashBobJenkins = record

    THashMD5 = record

    THashSHA1 = record

    THashSHA2 = record

    uses  System.Hash;
    
    function md5_hmac(const val, key: string): string;
    begin
      var md5: THashMD5 := THashMD5.Create;
      Result := md5.GetHMAC(val, key);
    end;
    
    function md5_utf8(const val: string): string;
    begin
      var md5: THashMD5 := THashMD5.Create;
      md5.Update(TEncoding.UTF8.GetBytes(val));
      Result := md5.HashAsString;
    end;
    
    function sha1_utf8(const val: string): string;
    begin
      var sha1: THashSHA1 := THashSHA1.Create;
      sha1.Update(TEncoding.UTF8.GetBytes(val));
      Result := sha1.HashAsString;
    end;
    
    function sha2_utf8(const val: string): string;
    begin
      var sha2: THashSHA2 := THashSHA2.Create;
      sha2.Update(TEncoding.UTF8.GetBytes(val));
      Result := sha2.HashAsString;
    end;
    
    procedure TForm2.Button1Click(Sender: TObject);
    begin
      Memo1.Lines.Add(md5_utf8('咏南中间件'));         //ce33960c8f97c85161a8b28b7000b3c6
      Memo1.Lines.Add(sha1_utf8('咏南中间件'));        //2566ca7678fcdb309846eabef3911dc6e5f8814d
      Memo1.Lines.Add(sha2_utf8('咏南中间件'));        //f3bbbfaf81071d67f02fd519553789c671c7e0514045885e5bd8faa80d66792f
      Memo1.Lines.Add(md5_hmac('咏南中间件', '钥匙')); //0796b66fa3180024cb5e49cba66dbf58
    end;
    

      

  • 相关阅读:
    这些例子很炫,感兴趣的童鞋可以了解一下
    Java经典习题24
    Java经典习题23
    Java经典练习题22
    Java经典习题21
    Java经典习题20
    Java经典练习题19
    Java经典练习题18
    Java经典习题17
    Java经典习题16
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/14276734.html
Copyright © 2011-2022 走看看