27-12-2009, 10:19 PM (آخر تعديل لهذه المشاركة: 14-04-2011, 08:20 AM بواسطة kachwahed.)
السلام عليكم ورحمة الله
بينما كنت أبحث عن كود متوافق لـ Delphi 2010 لحساب MD5، وقعت على وحدة من إنتاج Peter Sawatzki مبرمج من ألمانيا، أضفت توجيه صغير وها هي الدالة متوافقة مع إصدار D14.
مثال في المرفقات كتبته على Delphi4 ويعمل على Delphi2010 أيضا.
يوجد في الموقع أشياء أخرى مفيدة لمن يحب الاستكشاف:
02-01-2010, 11:24 AM (آخر تعديل لهذه المشاركة: 14-04-2011, 08:21 AM بواسطة kachwahed.)
أخي قديم الشوق...
المرفق نظيف تماما، لا يوجد H1N1A ولا أي شيء آخر...
كل ما في الأمر أن بعض مضادات الفيروسات حساسة تجاه بعض برامج الضغط
راجع أيضا: مصداقية برامج الحماية Antivirus mPack برنامج ضغط الملفات التنفيذية
على العموم، قمت بحذف التطبيق (المصادر فقط)
بالتوفيق.
الأمر الذي يجهله الكثير (كنت واحد منهم) هو وجود 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;
إقتباس :الأمر الذي يجهله الكثير (كنت واحد منهم) هو وجود md5 مع دلفي منذ الاصدار 2007 وهي تعمل مع 2009/2010
بارك الله لك أستاذ وجزاك خيرا كثيرا
عندما كنت أبحث عن شيء موافق لإصدارت دعم Unicode
صادفت هذه المكتبة وفرحت لأنها مرفقة مع دلفي
لكني عندما استخدمتها أعطتني بصمة MD5 مختلفة تماما عن الذي كنا نحسبه بالداول القديمة!
وقد ذكر هذا في المدونة التي تفضلت بها
وعندما بحثت أكثر وجدت الكثير من الأسئلة طرحت عن سبب هذا الاختلاف
ثم بحثت أكثر حتى وجدت هذه الوحدة التي تعيد نفس MD5 وفي نفس الوقت تعمل على D14
لحد الآن لا أدري بالتحديد لماذا تختلف النتائج، ربما لأجل حكاية AnsiString ودعم Unicode
حاولت التغليف بـ AnsiString لكن دون جدوى...
أعددت مثال في المرفقات لكلا الطريقتين، حاولت فيه بكلا التابعين ودائما MD5 مختلف لنفس النص؟