Miklix

حاسبة رمز التجزئة Fowler-Noll-Vo FNV1-64

نُشرت: ١٧ فبراير ٢٠٢٥ م في ٩:٣٤:٢١ م UTC

حاسبة رمز التجزئة التي تستخدم دالة التجزئة Fowler-Noll-Vo 1 64 بت (FNV1-64) لحساب رمز التجزئة بناءً على إدخال النص أو تحميل الملف.

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

Fowler-Noll-Vo FNV1-64 Hash Code Calculator

تعد دالة التجزئة FNV-1 ذات 64 بت جزءًا من عائلة Fowler–Noll–Vo (FNV) من دوال التجزئة، وهي مصممة للتجزئة السريعة مع الحفاظ على توزيع جيد لقيم التجزئة. تُستخدم عادةً في تطبيقات مثل جداول التجزئة ومجموعات الاختبار وعمليات البحث عن البيانات. وهي تنتج رمز تجزئة مكون من 64 بت (8 بايت)، وغالبًا ما يتم تمثيله كرقم سداسي عشري مكون من 16 رقمًا.

إفصاح كامل: لم أكتب التنفيذ المحدد لدالة التجزئة المستخدمة في هذه الصفحة. إنها دالة قياسية مضمنة في لغة برمجة PHP. لقد قمت فقط بإنشاء واجهة الويب لجعلها متاحة للجمهور هنا للراحة.


حساب رمز التجزئة الجديد

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

بيانات الإدخال:



النص المرسل مشفر بترميز UTF-8. نظرًا لأن وظائف التجزئة تعمل على البيانات الثنائية، فستكون النتيجة مختلفة عما إذا كان النص بترميز آخر. إذا كنت بحاجة إلى حساب تجزئة نص بترميز معين، فيجب عليك تحميل ملف بدلاً من ذلك.



حول خوارزمية التجزئة Fowler-Noll-Vo FNV-1 64 بت

أنا لست عالم رياضيات، ولكنني سأحاول شرح دالة التجزئة هذه باستخدام تشبيه يمكن لزملائي غير المتخصصين في الرياضيات فهمه. إذا كنت تفضل شرحًا علميًا صحيحًا ومخيفًا من الناحية الرياضية، فأنا متأكد من أنك ستجده في مكان آخر ;-)

أولاً، دعونا نفكر في خوارزمية FNV-1 على أنها وصفة لصنع عصير خاص. كل مكون تضيفه (مثل الفواكه أو الحليب أو العسل) يمثل جزءًا من البيانات - مثل الحروف أو الأرقام أو حتى الملف بأكمله.

الآن، الهدف هو خلط هذه المكونات بطريقة محددة للغاية بحيث يؤدي حتى أصغر تغيير في الوصفة (مثل إضافة حبة توت إضافية) إلى اختلاف مذاق العصير تمامًا. هكذا تعمل وظائف التجزئة - فهي تخلق "نكهة" فريدة (أو قيمة تجزئة) لكل مجموعة فريدة من المكونات (أو بيانات الإدخال).

الطريقة التي تقوم بها خوارزمية FNV-1 بذلك هي عملية متعددة الخطوات:

الخطوة 1: ابدأ بقاعدة (أساس الإزاحة)

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

الخطوة 2: إضافة المكونات واحدة تلو الأخرى (معالجة البيانات)

الآن، ابدأ بإضافة المكونات، واحدة تلو الأخرى - فلنقل الفراولة، ثم الموز، ثم بعض العسل. كل من هذه المكونات يمثل بايتًا من البيانات.

الخطوة 3: المزج باستخدام مضاعف سري (FNV Prime)

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

الخطوة 4: إضافة لمسة من السحر (عملية XOR)

قبل إضافة المكون التالي، رش القليل من الغبار السحري (هذه هي عملية XOR). الأمر أشبه بقلب النكهة بطرق غير متوقعة، مما يضمن أن حتى التغييرات الصغيرة تحدث فرقًا كبيرًا.

الخطوة 5: كرر حتى الانتهاء

استمر في المزج ورش السحر بعد كل مكون جديد حتى تنتهي من معالجة كل شيء.

الخطوة 6: العصير النهائي (قيمة التجزئة)

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

الإصدار المعروض هنا هو الإصدار الأصلي FNV-1 64 بت. كما يتوفر إصدار FNV-1a 64 بت محسن: حاسبة رمز التجزئة Fowler-Noll-Vo FNV1a-64

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

ميكيل بانج كريستنسن

عن المؤلف

ميكيل بانج كريستنسن
ميكيل هو مؤسس ومالك موقع miklix.com. يتمتع بخبرة تزيد عن 20 عامًا كمبرمج كمبيوتر/مطور برامج محترف ويعمل حاليًا بدوام كامل في إحدى شركات تكنولوجيا المعلومات الأوروبية الكبرى. عندما لا يقوم بالتدوين، يقضي وقت فراغه في مجموعة واسعة من الاهتمامات والهوايات والأنشطة، والتي قد تنعكس إلى حد ما في تنوع الموضوعات التي يغطيها هذا الموقع.