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/