مكتبة لحساب md5 متوافقة مع إصدار Delphi 2010
#6
السلام عليكم ورحمة الله

الأمر الذي يجهله الكثير (كنت واحد منهم) هو وجود MD5 مع دلفي منذ الاصدار 2007 وهي تعمل مع 2009/2010
بالوحدة MessageDigest_5.pas الموجودة بالمجلد source\Win32\soap\wsdlimporter\
وهذا مثال يستخدمها
PHP كود :
program md5;
 
{
$APPTYPE CONSOLE}
 
uses
  SysUtils
,
  
MessageDigest_5 in 'C:\Program Files\Embarcadero\RAD Studio\7.0\source\Win32\soap\wsdlimporter\MessageDigest_5.pas';
  
// Vista/Windows 7: MessageDigest_5 in 'C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Win32\soap\wsdlimporter\MessageDigest_5.pas';
 
function GetMd5(const Value: AnsiString): string; overload;
var
  
hash: MessageDigest_5.IMD5;
  
fingerprint: string;
begin
  hash 
:= MessageDigest_5.GetMD5();
  
hash.Update(Value);
  
fingerprint := hash.AsString();
  
Result := LowerCase(fingerprint);
end;
 
function 
GetMd5(const Value: UnicodeString): string; overload;
var
  
hash: MessageDigest_5.IMD5;
  
fingerprint: string;
begin
  hash 
:= MessageDigest_5.GetMD5();
  
hash.Update(Value);
  
fingerprint := hash.AsString();
  
Result := LowerCase(fingerprint);
end;
 
var
  
SourceAnsiString: AnsiString;
  
SourceUnicodeString: UnicodeString;
  
SourceRawByteString: RawByteString;
 
begin
  
try
    
SourceAnsiString := 'foobar';
    
SourceUnicodeString := 'foobar';
    
SourceRawByteString := 'foobar';
 
    
Writeln(GetMd5(SourceAnsiString));
    
Writeln(GetMd5(SourceUnicodeString));
    
Writeln(GetMd5(SourceRawByteString));
 
    
SourceAnsiString := 'föøbår';
    
SourceUnicodeString := 'föøbår';
    
SourceRawByteString := 'föøbår';
    
Writeln(SourceAnsiString, ' ', GetMd5(SourceAnsiString));
    
Writeln(SourceUnicodeString, ' ', GetMd5(SourceUnicodeString));
    
Writeln(SourceRawByteString, ' ', GetMd5(SourceRawByteString));
  
except
    on E
: Exception do
      
Writeln(E.ClassName, ': ', E.Message);
  
end;
end. 
مصدر المعلومة مدونة
Jeroen Pluimers
http://wiert.wordpress.com/2009/12/11/de...elphi-2007
الرد


الردود في هذا الموضوع
مكتبة لحساب md5 متوافقة مع إصدار Delphi 2010 - بواسطة محمد عبد العزيز - 07-01-2010, 02:34 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم