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/

04-20 23:39