delphi 10.1 Berlin 中使用自带的 MD5 校验

uses
System.Hash;//要引用这个单元哈

var
  Digest: TBytes;
  MD5: THashMD5;
  MD5Buf: TBytes;
  params: string;
begin
  SetLength(MD5Buf, Length(...));//做一些自己爱做的处理
  MD5.Reset;
  MD5.Update(MD5Buf);
  Digest := MD5.HashAsBytes; //返回 TBytes
  params := MD5.HashAsString;//返回 string
end;

  很愉快的就得到结果了,无论是要字符串形式还是要别的。

因为从 delphi XE5 开始,一波隆就开始废弃了 ShortString AnsiString AnsiChar PAnsiChar PPAnsiChar UTF8String PUTF8String RawByteString PRawByteString 等(当然,如果依依不舍还是有补丁可以下载的,但根本没必要,旧的不去,新的不来),以前的还需要第三方的单元,现在越来越简单的自带了。

补丁下载参见:http://andy.jgknet.de/blog/2013/10/the-return-of-the-byte-strings/