نظرة عامة على المحتويات
- ما هو تجزئة ملف MD5؟
- المتطلبات الأساسية لإنشاء تجزئة ملف MD5 في JavaScript
- كيفية إنشاء تجزئة ملف MD5 في جافا سكريبت؟
- الطرق الشائعة المستخدمة لإنشاء تجزئة ملف MD5 في Node.js
- المثال 1: إنشاء تجزئة ملف MD5 في JavaScript
- المثال 2: إنشاء تجزئة ملف MD5 وقراءة الملف في JavaScript
- النهج البديل 1: إنشاء MD5 Hash لسلسلة في JavaScript
- النهج البديل 2: إنشاء تجزئة MD5 لكلمة المرور في JavaScript
- خاتمة
ما هو تجزئة ملف MD5؟
' MD5 'هي دالة أحادية الاتجاه تأخذ البيانات من أي نوع كمدخل لها وتقوم بتعيينها إلى سلسلة إخراج ذات حجم ثابت، بغض النظر عن حجم السلسلة المحددة. تقوم وظيفة التجزئة بإنشاء نفس/متطابقة تجزئة الإخراج للسلسلة المقدمة.
بحيث يمكن استخدام هذه السلسلة للتحقق من صحة الملفات أو النصوص عند المرور عبر الشبكة ويتحقق MD5 مما إذا كانت البيانات صالحة أم لا. وفيما يلي المظاهرة:
قيمة المدخلات | تم إرجاع قيمة التجزئة |
جافا سكريبت | 686155af75a60a0f6e9d80c1f7edd3e9 |
ليام*88 | c9c77fd293a9bb6d172e36a4a04053ea |
المتطلبات الأساسية لإنشاء تجزئة ملف MD5 في JavaScript
فيما يلي المتطلبات الأساسية التي يجب مراعاتها قبل إنشاء تجزئة ملف MD5:
الخطوة 1: إعداد المشروع
أولاً، قم بتهيئة المشروع بالقيم الافتراضية (عبر ' -و 'العلامة) باستخدام الأمر cmdlet التالي:
الحرف npm - و
نصيحة إضافية: إنشاء ' template.cjs 'ملف بدلاً من' template.js 'ملف لتجنب' وحدة 'أخطاء الكتابة.
الخطوة 2: إنشاء ملف نصي
قم بإنشاء الملف النصي ' ملف نصي.txt 'لإنشاء قيمة التجزئة MD5 من محتوى الملف. فيما يلي محتوى الملف الذي سيتم تقييمه:
لاحظ أيضًا أن ' تشفير 'ستكون الوحدة مطلوبة. نظرًا لأنها وحدة مدمجة في Node.js، فليست هناك حاجة لتثبيتها أو تكوينها. وفيما يلي المظاهرة:
npm تثبيت التشفير
ومن الواضح هنا أنه ليست هناك حاجة لتثبيت هذه الوحدة بشكل منفصل.
كيفية إنشاء تجزئة ملف MD5 في Node.js؟
يمكن إنشاء تجزئة MD5 للملف بمساعدة ' تشفير 'الوحدة النمطية وطرقها مثل' إنشاء هاش () ' و ' استوعب() '. توفر هذه الوحدة طرق التشفير لجعل البيانات آمنة في Node.js.
الطرق الشائعة المستخدمة لإنشاء تجزئة ملف MD5 في Node.js
فيما يلي الطرق المستخدمة بشكل شائع لإنشاء تجزئة md5 للملف:
قراءة ملف المزامنة (): يتم استخدام هذه الطريقة لقراءة الملفات بطريقة متزامنة.
بناء الجملة
خ. readFileSync ( نقطة، اختيار )في بناء الجملة المحدد:
- ' نقطة ' يشير إلى المسار النسبي للملف النصي.
- ' يختار، يقرر ' هي معلمة اختيارية تشتمل على الترميز والعلامة.
قيمة الإرجاع
يقوم بجلب محتوى الملف.
إنشاء هاش (): تقوم هذه الطريقة بإنشاء كائن تجزئة لإنشاء ملخصات التجزئة.
بناء الجملة
تشفير. createHash ( ألج، اختيار )في بناء الجملة هذا:
- ' الطحالب ' يشير إلى الاعتماد على الخوارزميات التي يمكن الوصول إليها والتي يفضلها إصدار OpenSSL.
- ' يختار، يقرر ' هي معلمة اختيارية تتحكم في سلوك الدفق.
قيمة الإرجاع
يقوم باسترداد كائن التجزئة.
التجزئة. دايجست (): تقوم هذه الطريقة بإنشاء بيانات الملخص التي تم تمريرها عند إنشاء التجزئة.
بناء الجملة
التجزئة. استوعب ( [ إنك ] )هنا، ' إنك 'يشير إلى نوع الترميز الذي يمكن أن يكون' عرافة ' أو ' base64 '.
قيمة الإرجاع
يقوم باسترداد سلسلة الترميز الذي تم تمريره.
المثال 1: إنشاء تجزئة ملف MD5 في Node.js
ينشئ هذا المثال تجزئة md5 لمحتوى الملف باستخدام ' تشفير ' و ' خ 'الوحدات:
مقدار ثابت get1 = يتطلب ( 'التشفير' ) ;مقدار ثابت get2 = يتطلب ( 'خ.س' ) ;
مقدار ثابت readmd5 = get2. readFileSync ( 'ملف نصي.txt' ) ;
مقدار ثابت خارج = get1. createHash ( 'MD5' ) . تحديث ( readmd5 ) . استوعب ( 'عرافة' ) ;
وحدة التحكم. سجل ( 'تجزئة ملف MD5 -> ' + خارج ) ;
شرح الكود هو كما يلي:
- أولاً، قم باستيراد ' تشفير ' و ' خ ' لإنشاء تجزئة md5 والعمل مع الملفات، على التوالي.
- الآن قم بتطبيق ' قراءةملف المزامنة () 'طريقة لقراءة الملف المحدد بشكل متزامن.
- وبعد ذلك قم بتطبيق ' إنشاء هاش () 'طريقة لإنشاء كائن تجزئة md5 يشير إلى الملف.
- المحدد ' عرافة 'القيمة كـ ' استوعب() تشير معلمة الطريقة إلى نوع الترميز.
- وأخيرًا، قم باسترداد تجزئة md5 للملف المقابل.
انتاج |
قم بتنفيذ الأمر cmdlet التالي لإنشاء تجزئة ملف md5:
قالب العقدة. cjs
تشير هذه النتيجة إلى أن تجزئة md5 للملف الهدف قد تم إرجاعها بشكل مناسب.
المثال 2: إنشاء تجزئة ملف MD5 وقراءة الملف في Node.js
في هذا العرض التوضيحي، يمكن جلب تجزئة md5 للملف مع قراءة محتوى الملف:
فار تشمل1 = يتطلب ( 'خس' ) ;تم تضمين2 = يتطلب ( 'التشفير' ) ;
فار getHash = ( محتوى ) => {
فار جينهاش = تشمل2. createHash ( 'MD5' ) ;
بيانات = com.genHash. تحديث ( محتوى، 'utf-8' ) ;
خارج = بيانات. استوعب ( 'عرافة' ) ;
يعود خارج ;
}
فار قراءة الملف = تشمل1. createReadStream ( 'ملف نصي.txt' ) ;
حساب الجير = ''
إقرا الملف. على ( 'بيانات' ، وظيفة ( قطعة ) {
تابع += قطعة ;
} ) ;
إقرا الملف. على ( 'خطأ' ، وظيفة ( يخطئ ) {
وحدة التحكم. سجل ( يخطئ ) ;
} ) ;
إقرا الملف. على ( 'نهاية' ،وظيفة ( ) {
محتوى فار = com.getHash ( تابع ) ;
وحدة التحكم. سجل ( 'محتوى الملف ->'. \ن ' + تابع ) ;
وحدة التحكم. سجل ( 'تجزئة ملف MD5 ->' + محتوى ) ;
} ) ;
وفقًا لهذه المجموعة من التعليمات البرمجية، قم بتنفيذ الخطوات المذكورة أدناه:
- وبالمثل، قم بتضمين الوحدات التي تمت مناقشتها.
- الآن، قم بتمرير البيانات المراد تجزئتها عن طريق إنشاء كائن تجزئة md5 وتحديد ' عرافة ' شكل.
- بعد ذلك، قم بإنشاء دفق قراءة لقراءة محتوى الملف المحدد.
- للمضي قدمًا، اقرأ محتوى الملف وتعامل مع الأخطاء التي تواجهك، إن وجدت.
- وأخيرا، استدعاء ' الحصول على هاش () 'طريقة لحساب تجزئة md5 لمحتوى الملف.
انتاج |
قم بتشغيل الكود أدناه لاسترداد تجزئة md5 لمحتوى الملف:
قالب العقدة. cjs
من هذه النتيجة، يمكن الإشارة ضمنيًا إلى أن محتوى الملف بالإضافة إلى تجزئة md5 للملف يتم عرضها بشكل مناسب.
النهج البديل 1: إنشاء MD5 Hash لسلسلة في Node.js
ينشئ العرض التوضيحي للكود التالي تجزئة md5 لقيمة سلسلة:
كان ثونغ = 'لينكس' ;الجير يشمل = يتطلب ( 'التشفير' ) ;
فار ميكهاش = يشمل. createHash ( 'MD5' ) . تحديث ( خيط ) . استوعب ( 'عرافة' ) ;
وحدة التحكم. سجل ( 'تجزئة سلسلة MD5 ->' + com.makeHash ) ;
في هذا الكود:
- قم بتهيئة السلسلة التي سيتم استرداد قيمة تجزئة md5 عليها وقم بتضمين ' تشفير ' وحدة.
- وبعد ذلك، قم أيضًا بتطبيق ' إنشاء هاش () ' و ' استوعب() 'طرق لإنشاء كائن تجزئة واسترداد السلسلة فيما يتعلق بنوع الترميز الذي تم تمريره، أي 'عرافة'.
- وأخيرًا، قم بإرجاع تجزئة md5 للسلسلة المحددة.
انتاج |
قالب العقدة. cjs
النهج البديل 2: إنشاء تجزئة MD5 لكلمة المرور في Node.js
في هذا المثال، يمكن جلب تجزئة MD5 لكلمة المرور بدلاً من ذلك:
كان ثونغ = '123*adQ&' ;الجير يشمل = يتطلب ( 'التشفير' ) ;
فار ميكهاش = يشمل. createHash ( 'MD5' ) . تحديث ( خيط ) . استوعب ( 'عرافة' ) ;
وحدة التحكم. سجل ( 'تجزئة كلمة المرور MD5 -> ' + com.makeHash ) ;
هنا حدد كلمة المرور وكرر الخطوات التي تمت مناقشتها لتضمين ' تشفير 'وحدة وتطبيق المدمج' تحديث() ' و ' استوعب() طرق لإنشاء تجزئة md5 لكلمة المرور.
انتاج |
يؤدي تشغيل الأمر cmdlet التالي إلى إنشاء تجزئة md5 لكلمة المرور:
قالب العقدة. cjs
خاتمة
يمكن إنشاء تجزئة MD5 للملف عن طريق تثبيت واستيراد ' تشفير 'الوحدة النمطية والاستفادة من أساليبها مثل' إنشاء هاش () ' و ' استوعب() 'إلخ. علاوة على ذلك، يمكن أيضًا إنشاء تجزئة md5 لسلسلة محددة أو كلمة مرور. يؤدي هذا بشكل أساسي إلى تأمين البيانات عن طريق تشفيرها بناءً على تنسيق التشفير الذي تم تمريره.