现在的位置: 首页 > 综合 > 正文

用indy控件中的单元生成MD5码

2013年09月19日 ⁄ 综合 ⁄ 共 649字 ⁄ 字号 评论关闭

 今天弄个咚咚,想验证一下一些程序的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;

  

还不不会调整那个代码框,好难看,我去看看别人的如何弄

抱歉!评论已关闭.