ForHosting KIT · أدوات المطورين

حاسبة تجزئة FNV-1

احسب تجزئة النص بطريقة فاولر ونول وفو الأصلية، بالضرب قبل دمج كل بايت: تعطي foobar القيمة 31f0b262 على 32 بت، وهي قيمة FNV-1 في جداول المرجع لا قيمة FNV-1a. اختر 32 أو 64 بت. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
foobar
تحصل على
النتيجة
31f0b262
Fnv1
31f0b262
Hex
31f0b262
البتات
32

FNV-1 دالة تجزئة غير تشفيرية صمّمها Glenn Fowler وLandon Curt Noll وPhong Vo. تعالج كل رسالة كتسلسل بايتات، ولكل بايت تضرب التجزئة الجارية في عدد أوّلي FNV ثابت ثم تُطبّق xor للبايت على الناتج. ترتيب الضرب ثم xor يميّز FNV-1 عن FNV-1a التي تُجري xor أولًا ثم الضرب؛ وتشتركان في نفس أسس الإزاحة والأعداد الأولية، لكنهما تنتجان ملخصات مختلفة لكل سلسلة غير فارغة. المطوّرون الذين يبنون جداول تجزئة ومرشّحات bloom وأعلام ميزات ومفاتيح محتوى سريعة يحتاجون غالبًا نتيجة FNV-1 القياسية لسلسلة قصيرة بعرض اثنين وثلاثين أو أربعة وستين بتًا، بهيئة ست عشري صغيرة جاهزة للصق في الاختبارات وملاحظات البروتوكول. تقبل أداة تجزئة FNV-1 هذه نصًا غير فارغ، وترمّزه UTF-8، وتشغّل الحلقة الحتمية بالعرض المطلوب، وتُرجع ملخص hex مع تسمية الخوارزمية وعرض البتات وعدد البايتات وملخص قصير.

ما الذي يحسبه FNV-1 ولماذا يهم العرض وطول hex

يعامل FNV-1 كل رسالة كتسلسل مرتّب من الثمانيات. يُهيَّأ سجل التجزئة بأساس إزاحة منشور: ست عشري ثمانية واحد واحد c تسعة d c خمسة لاثنين وثلاثين بتًا، أو c b f اثنان تسعة c e أربعة ثمانية أربعة اثنان اثنان اثنان ثلاثة اثنان خمسة لأربعة وستين بتًا.

لكل بايت إدخال تضرب الخوارزمية التجزئة الحالية في العدد الأوّلي FNV المطابق—صفر واحد صفر صفر صفر واحد تسعة ثلاثة لاثنين وثلاثين بتًا، أو واحد صفر صفر صفر صفر صفر صفر صفر واحد b ثلاثة لأربعة وستين—ثم تُطبّق أو حصريًا للبايت على الناتج مع الالتفاف عند عرض البتات المختار. عند انتهاء التدفق تنسّق الأداة الناتج بلا إشارة كثمانية أرقام hex صغيرة في وضع الاثنين وثلاثين بتًا أو ستة عشر في وضع الأربعة وستين، فلا تحتاج الاختبارات إلى جدال حول حالة الأحرف أو بادئات الترتيب البايتي أو الحشو.

سلسلة تحقق معروفة هي foobar: FNV-1 باثنين وثلاثين بتًا يعطي ثلاثة واحد f صفر b اثنان ستة اثنان، بما يطابق جداول مرجعية مستقلة لترتيب الضرب ثم xor الأصلي. تعيد الاستجابة أيضًا bits وتسمية الخوارزمية FNV-1-32 أو FNV-1-64 وعدد بايتات UTF-8 والنص الأصلي حتى يعرض العملاء سطر تدقيق كامل دون إعادة اشتقاق البيانات الوصفية. ولأن FNV-1 غير مقاوم للتصادم وغير مفتاحي وغير مناسب لكلمات المرور أو التوقيعات، عالجه كمعرّف محتوى سريع أو بذرة لجدول تجزئة—لا كإثبات أصالة.

فضّل ملخصات عائلة SHA عندما تكون نية البحث تجزئة تشفيرية لا تجزئة Fowler–Noll–Vo غير تشفيرية.

تُرمَّز السلسلة UTF-8 قبل حلقة FNV، فتسهم المحارف متعددة البايت بكل بايت لوحدة الترميز تمامًا كما يفعل وقت تشغيل لغة عند تجزئة نفس تدفق UTF-8. اختبار كلاسيكي: text يساوي foobar مع bits الافتراضي يعطي hex ثلاثة واحد f صفر b اثنان ستة اثنان وخوارزمية FNV-1-32. اختبار آخر: نفس السلسلة مع bits أربعة وستون تعطي كلمة hex من ستة عشر رقمًا تحت FNV-1-64.

تُرفض المدخلات الفارغة عمدًا بدل إرجاع أساس الإزاحة وحده، حتى تميّز تجربة المنتج والمصحّحات الآلية الإجابات الناقصة عن تجزئة حقيقية. ثبّت مسار نجاح وخطأ إدخال فارغ في التكامل المستمر حتى لا تُشحن تغييرات عارضة على العدد الأوّلي أو الأساس أو ترتيب الضرب وxor دون انتباه. تُحذف الحقول الاختيارية الفارغة بدل إصدارها كـ null وفق عقد المُصيّر التصريحي لنماذج ويب نظيفة.

أين تفيد تجزئة FNV-1

يستخدم مؤلفو أوقات تشغيل اللغات وطلاب الأنظمة حاسبة تجزئة FNV-1 للتحقق يدويًا من خطوات الضرب ثم xor مقابل أسس الإزاحة والأعداد الأولية المنشورة دون كتابة حلقة ضرب معيارية في كل لغة. تحتاج منصات التعليم وإضافات LMS إلى أوراكل حتمي يرفض الإدخال الفارغ بدل إرجاع أساس الإزاحة وحده، حتى تميّز المصحّحات الآلية الإجابات الناقصة عن ملخص حقيقي. تستفيد مواقع المحتوى التي تترتب على hash FNV-1 أو حاسبة FNV1 من أداة حية يطابق مسارها المجاني مسار الأتمتة المدفوع بايتًا ببايت على نفس الوحدة النقية.

إخفاقات التحقق لا تستهلك الرصيد بعد الرفض. اقرن مع صفحات FNV-1a أو Adler-32 أو CRC أو تجزئة تشفيرية فقط عندما تبتعد نية البحث عن FNV-1 الأصلي—وأبقِ هذه الصفحة مركّزة على FNV-1 حتى تظل نية SEO حادة ولا تلتهم صفحات المجموع الاختباري أو الملخص ذات الصلة.

بذور لجداول التجزئة ومرشّحات bloom

أنشئ مفاتيح hex مستقرة FNV-1-32 أو FNV-1-64 لسلاسل قصيرة تُستخدم كدلاء خريطة أو مرشّحات bloom أو بذور أعلام ميزات عبر اللغات.

عروض صفية لـ FNV ضرب ثم xor

يعرض المعلّمون قيمة التحقق الكلاسيكية لـ foobar ويتيحون للطلاب إعادة حساب سلاسل قصيرة أخرى دون تثبيت مكتبة تشفير.

اختبارات CI لمساعدات تجزئة غير تشفيرية

تثبّت خطوط الأنابيب مخرجات hex FNV-1 حتمية وخطأ الإدخال الفارغ حتى تفشل التغييرات العارضة على العدد الأوّلي أو الأساس أو الترتيب فورًا.

كيف أحسب تجزئة FNV-1 لنص؟

ترمّز الواجهة السلسلة UTF-8 وتشغّل FNV-1 (ضرب ثم xor) وتُرجع التجزئة hex صغيرة في result وfnv1 وhex.

ما الفرق بين FNV-1 وFNV-1a؟

FNV-1 يضرب أولًا في العدد الأوّلي FNV ثم يُطبّق xor للبايت. FNV-1a يُجري xor أولًا ثم يضرب. هذه الأداة تنفّذ FNV-1 فقط؛ ولن تطابق الملخصات جداول FNV-1a.

ماذا يحدث إذا كان النص فارغًا؟

سلسلة غير فارغة مطلوبة؛ ولا تُعامل المدخلات الفارغة كتجزئة ناجحة لأساس الإزاحة وحده.

هل FNV-1 تجزئة تشفيرية؟

لا. FNV-1 تجزئة غير تشفيرية سريعة لجداول التجزئة ومفاتيح المحتوى. استخدموا SHA-256 أو ما شابه عندما تحتاجون مقاومة تصادم أو مصادقة.

هل أستخدم FNV-1 بعرض 32 أم 64 بت؟

استخدم العرض الذي يتوقعه النظام الآخر، لأن النتيجتين لا تتطابقان أبدًا. صيغة 32 بت هي الافتراضية وتعطي ثماني خانات ست عشرية، مثل 31f0b262 للكلمة foobar، أما صيغة 64 بت فلها قيمة بداية وعدد أولي خاصان وتعطي ست عشرة خانة.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/enc/fnv1

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/enc/fnv1 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"foobar"}'
{
  "text": "foobar"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.fnv1",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

تُرفض المدخلات الفارغة بـ invalid_input حتى لا يخلط المستدعي حقلًا مفقودًا بالقيمة المعروفة للرسالة الفارغة المساوية لأساس الإزاحة. مسار المتصفح المجاني وواجهة API مسبقة الدفع يشتركان في وحدة نقية واحدة، فتتوافق اختبارات الصف وخطوط الإنتاج دائمًا على كلمة hex لنفس السلسلة والعرض.

عقد الإدخال وأخطاء السلسلة الفارغة وشكل استجابة JSON

أرسل جسم JSON بحقل سلسلة مطلوب اسمه text: أي تسلسل غير فارغ من المحارف تريد تجزئته. تُقبل الأسماء البديلة input وvalue وs وdata وmessage وpayload لنفس الحقل حتى تبقى هياكل SDK ونماذج الإرسال مرنة. الحقل الاختياري bits يختار العرض: عدد صحيح اثنان وثلاثون (الافتراضي) أو أربعة وستون؛ وتُقبل الأسماء البديلة width وbit_width وsize. غياب text أو قيمة غير سلسلة أو سلسلة فارغة تفشل بـ invalid_input مع رسالة واضحة بأن سلسلة غير فارغة مطلوبة؛ ولا تُفوتر تلك الإخفاقات على API مسبقة الدفع. قيمة bits ليست اثنين وثلاثين ولا أربعة وستين تفشل أيضًا بـ invalid_input. عند النجاح يتضمن الجسم result وfnv1 وhex لنفس ملخص الست عشري الصغير؛ وbits للعرض المستخدم؛ وalgorithm ثابتًا على FNV-1-32 أو FNV-1-64؛ وinput_bytes يساوي طول UTF-8؛ وtext يعيد الإدخال؛ وmessage يلخّص عدد البايتات ونتيجة hex.

أين تُفيد واجهة API لتجزئة FNV-1 وكيف يعمل التسعير

تقارن كتيبات الدعم مفتاح محتوى أو بذرة علم ميزة من السجلات مع FNV-1 لسلسلة الحمولة التي يعيدون كتابتها في ودجت المتصفح المجاني بنفس عرض البتات. استخدم الأداة المجانية في المتصفح للفحوصات الفردية؛ واستدعِ واجهة KIT API مسبقة الدفع من الخلفيات والدوال بلا خادم وSDK عندما تحتاج عقدًا مستقرًا تحت رصيد بمقدار $0.002 لكل عنصر ناجح. أبقِ الحمولات بأحجام نص عادية مناسبة لاستدعاء عنصر في عازل Worker؛ هذه الأداة للسلاسل القصيرة ومقتطفات البروتوكول لا للكتل الثنائية متعددة الميجابايت.

هل حاسبة تجزئة FNV-1 مجانية؟

تعمل أداة المتصفح مجانًا على جهازكم. استدعاءات API تستخدم رصيد KIT مسبق الدفع بمقدار $0.002 لكل عنصر ناجح؛ وإخفاقات التحقق لا تُحسب.

اطّلع على توثيق KIT الكامل ←