今天弄个咚咚,想验证一下一些程序的Md5码,原来我保留了一个Md5.pas的,后面翻资料,才发现原来delphi2009自带的控件indy中就有该算法,用法十分简单:
uses IdHashMessageDigest; //记得一定要先use这个单元
{乌龙哈里,delphi2009+winxp sp3, 最后修改20090513}
procedure TForm1.Button1Click(Sender: TObject);
var
MyMD5: TIdHashMessageDigest5;
MemSteam:TMemoryStream;
S:string;
begin
MemSteam:=TMemoryStream.Create;
MemSteam.LoadFromFile('d:/裸钻国际价格20080925.xlsx');
MyMD5:= TIdHashMessageDigest5.Create;
s:=MyMD5.HashStreamAsHex(MemSteam);
// s:=MyMD5.HashStringAsHex('abcd'); //直接对字符串算md5码也成
ShowMessage('32: '+s); //显示32个字符长度的MD5签名结果
ShowMessage('16: ' +Copy(s,9,16)); //显示16个字符长度的MD5签名结果
MyMD5.Free;
MemSteam.Free;
end;
还不不会调整那个代码框,好难看,我去看看别人的如何弄