天天看點

Delphi中的加密算法(MD5,MD4,MD3...)

在delphi自帶的indy控件中其實是提供了md2,md4,md5對象的,我們可以直接使用它們來完成md5的簽名算法。而不需要再去找其它的dll或是pas了。

在uses單元中引用 idhashmessagedigest 單元,再寫如下代碼即可以達到md5的實作。

示例代碼

procedure tform1.button1click(sender: tobject);

var

  mymd5: tidhashmessagedigest5;

  digest: t4x4longwordrecord;

begin

  mymd5 := tidhashmessagedigest5.create;

  digest := mymd5.hashvalue('');

  showmessage('32: ' + mymd5.ashex(digest));  //顯示32個字元長度的md5簽名結果

  showmessage('16: ' + copy(mymd5.ashex(digest), 9, 16));   //顯示16個字元長度的md5簽名結果

end;

說明:

   mymd5.hashvalue 函數中可以是一個字元串或是一個流對象,它傳回的結果類型為 t4x4longwordrecord 的md5簽名後結果

   mymd5.ashex  函數是将t4x4longwordrecord的md5簽名轉換成為十六進制的md5簽名字元串。

繼續閱讀