المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مكتبة لحساب md5 متوافقة مع إصدار Delphi 2010


kachwahed
27-12-2009, 10:19 PM
السلام عليكم ورحمة الله
بينما كنت أبحث عن كود متوافق لـ Delphi 2010 لحساب MD5، وقعت على وحدة من إنتاج Peter Sawatzki مبرمج من ألمانيا، أضفت توجيه صغير وها هي الدالة متوافقة مع إصدار D14.
مثال في المرفقات كتبته على Delphi4 ويعمل على Delphi2010 أيضا.
يوجد في الموقع أشياء أخرى مفيدة لمن يحب الاستكشاف:
http://www.sawatzki.de/download.htm
بالتوفيق.

قديم الشوق
02-01-2010, 10:52 AM
وعليكم السلام ورحمة الله وبركاته

1- البرنامح المرفق لماذا مكافح الفيروسات يعتبره فيروس حملت برنامجين وهذا الثالث وصادفت نفس المشكله

2- حاولت اركب الحزمه لاكن تطلع لي رسالة خطأ وشكراً

STRELiTZIA
02-01-2010, 11:07 AM
السلام عليكم و رحمة الله

1- البرنامح المرفق لماذا مكافح الفيروسات يعتبره فيروس حملت برنامجين وهذا الثالث وصادفت نفس المشكله

هل يمكن ارفاق نص الرسالة التي يتحدث عنها مضاد البرامج الضارة ؟

kachwahed
02-01-2010, 11:24 AM
أخي قديم الشوق...
المرفق نظيف تماما، لا يوجد H1N1A :) ولا أي شيء آخر...
كل ما في الأمر أن بعض مضادات الفيروسات حساسة تجاه بعض برامج الضغط
راجع أيضا:
مصداقية برامج الحماية Antivirus (http://www.delphi4arab.com/forum/showthread.php?t=1541)
mPack برنامج ضغط الملفات التنفيذية (http://www.delphi4arab.com/forum/showthread.php?t=28)
على العموم، قمت بحذف التطبيق (المصادر فقط)
بالتوفيق.

قديم الشوق
02-01-2010, 12:38 PM
هل يمكن ارفاق نص الرسالة التي يتحدث عنها مضاد البرامج الضارة ؟

البرنامج يحذفه ولا ويظهر تنبيه انه فيروس
ينبهني انه فيروس لاكن مايظهر نوعه
--------------

بالفعل طلع من برنامج الضغط - بصراحه ماشكيت فيك لاكن سمعت عن فيروس مخصص للدلفي

بحيث انك اذا جيت تصدر البرنامج (exe) يندمج مع الأكواد

والله يجزاااك خير

B.M.AbdelAziZ
07-01-2010, 02:34 PM
السلام عليكم ورحمة الله

الأمر الذي يجهله الكثير (كنت واحد منهم) هو وجود MD5 مع دلفي منذ الاصدار 2007 وهي تعمل مع 2009/2010
بالوحدة MessageDigest_5.pas الموجودة بالمجلد source\Win32\soap\wsdlimporter\
وهذا مثال يستخدمها

program md5;

{$APPTYPE CONSOLE}

uses
SysUtils,
MessageDigest_5 in 'C:\Program Files\Embarcadero\RAD Studio\7.0\source\Win32\soap\wsdlimporter\MessageD igest_5.pas';
// Vista/Windows 7: MessageDigest_5 in 'C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Win32\soap\wsdlimporter\MessageD igest_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/delphi-md5-the-messagedigest_5-unit-has-been-there-since-delphi-2007

kachwahed
07-01-2010, 06:29 PM
الأمر الذي يجهله الكثير (كنت واحد منهم) هو وجود md5 مع دلفي منذ الاصدار 2007 وهي تعمل مع 2009/2010
بارك الله لك أستاذ وجزاك خيرا كثيرا
عندما كنت أبحث عن شيء موافق لإصدارت دعم Unicode
صادفت هذه المكتبة وفرحت لأنها مرفقة مع دلفي
لكني عندما استخدمتها أعطتني بصمة MD5 مختلفة تماما عن الذي كنا نحسبه بالداول القديمة!
وقد ذكر هذا في المدونة التي تفضلت بها
http://i46.tinypic.com/216a9s.gif
وعندما بحثت أكثر وجدت الكثير من الأسئلة طرحت عن سبب هذا الاختلاف
ثم بحثت أكثر حتى وجدت هذه الوحدة التي تعيد نفس MD5 وفي نفس الوقت تعمل على D14
لحد الآن لا أدري بالتحديد لماذا تختلف النتائج، ربما لأجل حكاية AnsiString ودعم Unicode
حاولت التغليف بـ AnsiString لكن دون جدوى...
أعددت مثال في المرفقات لكلا الطريقتين، حاولت فيه بكلا التابعين ودائما MD5 مختلف لنفس النص؟

fajar
27-01-2010, 05:59 PM
Hi there, I am from Indonesia. Is there any hope that MD5 by Peter works in D2010? The code from Peter is very fast


Well it is not easy to write latin in this forum :)

Admin
27-01-2010, 06:11 PM
fajar, as kachwahed said it work with Delphi 2010
download the attached file MD5Check.rar (http://www.delphi4arab.com/forum/attachment.php?attachmentid=1248&d=1262427782)

fajar
27-01-2010, 06:43 PM
Yes MD5 by Peter can be compiled in D2010 but the result is wrong

http://i46.tinypic.com/216a9s.gif

Admin
27-01-2010, 06:54 PM
not that file, download the first attached file in this thread