Delphi ÖÐMd5»ñÈ¡£¨Indy 9£©
ÔÚDelphi×Ô´øµÄIndy¿Ø¼þÖÐÆäʵÊÇÌṩÁËMD2,MD4,MD5¶ÔÏóµÄ£¬ÎÒÃÇ¿ÉÒÔÖ±½ÓʹÓÃËüÃÇÀ´Íê³ÉMD5µÄÇ©ÃûËã·¨¡£¶ø²»ÐèÒªÔÙÈ¥ÕÒÆäËüµÄ
DLL»òÊÇPasÁË¡£
ÔÚUsesµ¥ÔªÖÐÒýÓà IdHashMessageDigest,IdGlobal, IdHash µ¥Ôª£¬ÔÙдÈçÏ´úÂë¼´¿ÉÒÔ´ïµ½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Ç©Ãû×Ö·û´®¡£
Ïà¹ØÎĵµ£º
¾µä°¸Àý·ÖÏí Ôݲ»Éæ¼°·ÖÇø±í,±íÉè¼ÆµÈ Ö»´Ó±È½ÏdzµÄ½Ç¶ÈÀ´ÓÅ»¯
1.Ïȼì²é³ÌÐò ¼ì²éÄ£ÐͲãµÄÉè¼ÆÓë±àÂëÊÇ·ñºÏÀí ½«ºÍÕâ¸ö±íÓÐÓа󶨵ÄÊý¾Ý¸ÐÖª¿Ø¼þÈ«²¿È¥µô¡£
2.¹ÀËãÒ»¸öÊý¾ÝµÄ×î´óÁ¿ ¿ÉÒÔ´ÓÉè¼Æ½Ç¶È Ò²¿ÉÒÔ´Ó¿Í»§ÌṩµÄÊý¾Ý·ÖÎö δÀ´Ò»¶¨ÖÜÆÚÄÚµÄÔ¤Ôö³¤Á¿
3.½«ÌõÂëµÄ³¤¶È±£´æÆðÀ´£¬ÏÈÓÃÌõÂëµÄ³¤¶È½øÐйýÂË£¬Èç¹û80%ÒÔÉϵ ......
Delphi UÅ̲åÈ벦³ö¼ì²â£º
1¡¢Ð½¨¹¤³Ì£»
2¡¢ÔÚform1ÉÏ·ÅÒ»¸öLabel£»
3¡¢¶¨ÒåÒ»¸ö˽Óйý³Ì
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
ÍêÕû´úÂëÈçÏ£º
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics ......
Îҵİ취£¬Ôö¼ÓÒ»¸ötimer ÉèÖüä¸ô100ms£¬Í¨¹ýtimerµÄʹÄÜ·ñ£¬¿ØÖƱ¨¾¯ÉùÒô¿ª¹Ø
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Windows.Beep(1200+i_f,10+i_f);
if i_f<2000 then
begin
inc(i_f);
end
end;
== ......
ÉÏһƪ£¬½éÉÜÁË×é¼þ¿ª·¢µÄÒ»°ã¸ÅÊö£¬ÒÔ¼°×é¼þÀà²ã´Î½á¹¹µÄ¸÷¸öÀàµÄ´óÖÂÐÅÏ¢£¡ÏÖÔھͿªÊ¼Í¨¹ýʵÀý½øÐÐÀ´¼òµ¥µÄ½²ÊöÒ»ÏÂÒ»°ã×é¼þµÄ¿ª·¢¹ý³Ì£¡ÎÒÕâÀïÏȲÉÓÃ×î
»ù±¾µÄ·½Ê½À´´´½¨Ò»¸ö×é¼þ£¡Ò²¾ÍÊÇʹÓÃDelphi×Ô¼ºµÄ×é¼þ¿ª·¢Ïòµ¼À´½¨Á¢Ò»¸öеÄ×é¼þ¡£ÔÚÕâÀÎÒÒÔÀ©³äTEditΪÀý½øÐн²½â¡£
ÄÇôÊ×ÏÈ£¬Òª½éÉܵľÍÊÇ ......