صورة: خوارزمية التجزئة FNV-1 ذات 32 بت - نظرة عامة مرئية

نُشرت: ١٢ يناير ٢٠٢٦ م في ١:٢٩:٠٨ م UTC
آخر تحديث: ٩ يناير ٢٠٢٦ م في ٩:٤١:٢٣ م UTC

مخطط انسيابي واضح يشرح المراحل الرئيسية لخوارزمية التجزئة FNV-1 ذات 32 بت، من بايتات الإدخال إلى نتيجة التجزئة النهائية.


لقد تمت ترجمة هذه الصفحة آليًا من الإنجليزية بهدف جعلها متاحة لأكبر عدد ممكن من الأشخاص. لسوء الحظ، لم يتم تطوير تقنية الترجمة الآلية بعد، لذا قد تحدث أخطاء. إذا كنت تفضل ذلك، يمكنك عرض النسخة الإنجليزية الأصلية هنا:

FNV-1 32-Bit Hash Algorithm – Visual Overview

مخطط انسيابي يوضح كيفية قيام خوارزمية التجزئة FNV-1 ذات 32 بت بمعالجة بايتات الإدخال باستخدام أساس الإزاحة، و XOR، والضرب لإنتاج قيمة التجزئة النهائية.

الإصدارات المتوفرة من هذه الصورة

ملفات الصور المتاحة للتحميل أدناه أقل ضغطاً وأعلى دقة - ونتيجة لذلك أعلى جودة - من الصور المضمنة في المقالات والصفحات على هذا الموقع، والتي تم تحسينها من حيث حجم الملف من أجل تقليل استهلاك النطاق الترددي.

مقاس عادي (1,536 x 1,024)

حجم كبير (3,072 x 2,048)

حجم كبير جداً (4,608 x 3,072)

حجم كبير جداً (6,144 x 4,096)

حجم كبير بشكل كوميدي (1,048,576 x 699,051)

  • ما زلت أقوم بالتحميل...؛-)

وصف الصورة

الصورة عبارة عن رسم بياني عريض أفقي بعنوان "خوارزمية التجزئة FNV-1 ذات 32 بت"، معروضة بخط داكن كبير في الأعلى. يتميز التصميم العام بالبساطة والوضوح والوضوح، مع استخدام مستطيلات ودوائر وأسهم ذات زوايا مستديرة لتوجيه المشاهد من اليسار إلى اليمين. الخلفية بيضاء، مما يمنح الرسم البياني مظهرًا خفيفًا وبسيطًا مناسبًا للتدريس.

في أقصى اليسار يوجد مستطيل أزرق ذو زوايا مستديرة مكتوب عليه "بيانات الإدخال". أسفل هذا المربع يوجد صف أفقي صغير من مربعات متعددة الألوان تمثل بايتات البيانات الفردية. يشير سهم قصير من مربع الإدخال هذا نحو مركز الرسم التخطيطي، مما يدل على بداية عملية التجزئة.

يلي ذلك مستطيل أصفر ذو زوايا مستديرة مكتوب عليه "أساس الإزاحة"، وتحته عنوان أصغر "قيمة 32 بت". يمثل هذا المربع الحالة الداخلية الأولية التي تستخدمها الخوارزمية قبل معالجة أي بايتات مُدخلة. يشير السهم من بيانات الإدخال إلى مربع أساس الإزاحة هذا، مما يدل على أن الخوارزمية تبدأ بهذه القيمة الابتدائية المُحددة مسبقًا.

من نقطة الإزاحة الأساسية، يستمر التدفق إلى عقدة دائرية برتقالية تحمل علامة "XOR". يوجد أسفل هذه الدائرة مباشرةً زوج صغير من أيقونات البايت الملونة، مكتوب عليها "بايت الإدخال"، مما يؤكد أن كل بايت من البيانات الأصلية يُدمج مع حالة التجزئة الحالية باستخدام عملية XOR ثنائية. يشير الشكل إلى أن خطوة XOR هذه تتكرر لكل بايت.

بعد خطوة XOR، يشير سهم إلى عقدة دائرية زرقاء تحمل رمز الضرب، ومُعنونة بشكل مبسط بـ "الضرب في عدد أولي ثابت" أعلى مسار العملية. هذا يعني أن الخوارزمية تضرب القيمة الوسيطة في عدد أولي ثابت لزيادة خلط البتات وتوزيع التغييرات في جميع أنحاء التجزئة.

إلى يمين دائرة الضرب يوجد مستطيل أخضر مستدير مكتوب عليه "نتيجة التجزئة 32 بت". يمثل هذا قيمة التجزئة المتطورة بعد معالجة بايت واحد أو أكثر، وفي النهاية التجزئة النهائية 32 بت التي تنتجها الخوارزمية بمجرد استهلاك جميع بيانات الإدخال.

فوق الصف الرئيسي من المربعات والدوائر، يوجد خط أفقي رفيع مع أسهم صغيرة متجهة للأسفل يتضمن نصوصًا مثل "البدء بأساس الإزاحة"، و"عملية XOR مع البايت"، و"الضرب في عدد أولي FNV"، و"قيمة التجزئة 32 بت". تعمل هذه التسميات التوضيحية كدليل خطوة بخطوة يلخص مراحل الخوارزمية بلغة بسيطة.

على طول الجزء السفلي من الرسم التخطيطي، يمتد سهم طويل من اليسار إلى اليمين مع النص "كرر لكل بايت من البيانات". وهذا يوضح أن خطوات XOR والضرب تشكل حلقة يتم تطبيقها على كل بايت في تسلسل الإدخال، وليس مجرد عملية واحدة.

بشكل عام، يتجنب الرسم التخطيطي استخدام الثوابت العددية المحددة، ويركز بدلاً من ذلك على التدفق المفاهيمي: تدخل البايتات المدخلة إلى العملية، ويتم تهيئة حالة داخلية، ثم يتم إجراء عملية XOR بين كل بايت والقيمة الحالية، ويتم ضرب الناتج، وتتكرر الدورة حتى يتم إنتاج قيمة التجزئة النهائية المكونة من 32 بت. إن استخدام ألوان مميزة لكل مرحلة يجعل الخوارزمية سهلة الفهم حتى للمبتدئين.

الصورة مرتبطة بـ: حاسبة رمز التجزئة Fowler-Noll-Vo FNV1-32

شارك على بلوسكايشارك على الفيسبوكشارك على لينكدإنشارك على تمبلرشارك على إكسثبت على بينتريستشارك على ريديت