مجموع تحقق Fletcher-32
احصل على مجموع تحقق سريع ينتبه إلى الترتيب: يعطي 123456789 قيمة Fletcher-32 هي df09d509، وتبديل الحروف يغيرها عادة. يصلح لاكتشاف التلف العرضي أو النص الملصوق ناقصًا، لا كتجزئة للحماية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- 123456789
- مجموع Fletcher32
- df09d509
- Fletcher32 كعدد صحيح
- 3,741,963,529
- البايتات
- 9
- الكلمات
- 5
Fletcher-32 هو مجموع تحقق سريع وحساس للموضع يطوي الرسالة إلى باقٍ من اثنين وثلاثين بتًا عبر كلمات من ستة عشر بتًا ومجموعتين تراكميتين معياريتين. بخلاف XOR البسيط أو التكافؤ الجمعي، تجمع المجموع الثاني المجموع الأول، لذا يهم ترتيب الكلمات وتغيّر أخطاء النقل الشائعة الملخص. تقبل هذه الأداة النص الصريح، وتسلسله بصيغة UTF-8، وتعبّئ البايتات في كلمات little-endian من ستة عشر بتًا، وتعيد سلسلة سداسية من ثمانية أرقام بحروف صغيرة، والعدد الصحيح غير الموقع المكافئ، وعدّي البايتات والكلمات، وعلامة empty عندما يكون طول النص المصدر صفرًا.
معنى Fletcher-32 وكيف تُشكَّل كلمات الستة عشر بتًا
يحافظ Fletcher-32 على مجموعين تراكميين يُسميان عادة sum1 وsum2، ويُختزلان بمقياس خمسة وستين ألفًا وخمسمائة وخمسة وثلاثين—أي اثنين مرفوعًا إلى ستة عشر ناقص واحد. لكل كلمة من ستة عشر بتًا في الرسالة يُزاد sum1 بالكلمة ثم يُختزل، ويُزاد sum2 بـ sum1 الجديد ثم يُختزل بالمثل. يضع مجموع التحقق النهائي sum2 في الستة عشر بتًا العليا وsum1 في السفلى، فينتج قيمة من اثنين وثلاثين بتًا تُعرض غالبًا بثمانية أرقام سداسية.
ترمّز هذه القدرة سلسلة الإدخال بصيغة UTF-8 حتى تساهم المحارف متعددة البايت مثل الحروف المميزة أو الرموز التعبيرية ببايتاتها الحقيقية على السلك، ثم تعبّئ تلك البايتات little-endian: البايت الأول من كل زوج يصبح النصف المنخفض للكلمة والثاني النصف العالي. إذا كان طول UTF-8 فرديًا تُملأ الكلمة الأخيرة بصفر في النصف العالي كي يشارك كل بايت دون اختراع بيانات إضافية سوى حشوة صفر واحدة. يعالج الإدخال الفارغ صفر كلمات ويعطي ثمانية أصفار سداسية مع empty بقيمة true، بما يطابق هوية المجاميع.
صُمم Fletcher-32 لفحوص سلامة سريعة ضد التلف العرضي واللصق المقطوع؛ وهو ليس تجزئة تشفيرية ولا يجوز استخدامه حيث تُطلب مقاومة متعمدة للتصادم. إذا اختلفت أداة طرف ثالث على نفس بايتات UTF-8 فغالبًا ما تستخدم تعبئة big-endian أو مقياسًا مختلفًا أو Fletcher-16 بدل Fletcher-32 أو Adler-32 بـ sum1 ابتدائي مختلف.
أين يفيد مجموع تحقق Fletcher-32
يلصق المطوّرون مقاطع إعداد قصيرة وعينات بروتوكول وجذور أسماء ملفات في حاسبة Fletcher-32 عندما يحتاجون وسم سلامة مدمجًا أرخص من تجزئة تشفيرية وأكثر حساسية للترتيب من مجموع بسيط. يعيد مهندسو الدعم حساب الباقي من نص التذكرة للتأكد من أن اللصق لم يُقطع أو يُعاد ترتيبه أثناء النقل. تستفيد مواقع المحتوى التي تستهدف fletcher32 checksum من ودجت مجاني في المتصفح تطابق نتائجه مسار الأتمتة المدفوع مسبقًا بايتًا ببايت.
تثبّت مهام التكامل المستمر متجه سلسلة معروفة وملحق إدخال فارغ حتى تفشل البناء فور أي انحراف عرضي في ترتيب البايتات أو المقياس.
حالات الاستخدام
وسوم سلامة سريعة للنص القصير
احسب Fletcher-32 لمقاطع الإعداد أو عينات البروتوكول أو جذور الأسماء عندما تحتاج باقيًا سداسيًا مدمجًا حساسًا لترتيب الكلمات.
متجهات CI الذهبية وملحقات الإدخال الفارغ
ثبّت سلسلة معروفة → ملخص سداسي ثابت والفارغ → 00000000 حتى يلتقط التكامل المستمر فورًا انحراف endianness أو المقياس أو ترميز UTF-8.
عروض الصف والدعم
أظهر للطلاب والمشغّلين كيف يغيّر إعادة الترتيب أو تعديل أحرف قليلة السداسي Fletcher-32 دون تثبيت أدوات محلية أو مكتبات تشفير.
الأسئلة الشائعة
كيف تُشكَّل كلمات الستة عشر بتًا من نصي؟
تُرمَّز السلسلة بـ UTF-8 ثم يصبح كل زوج بايتات كلمة little-endian (البايت الأول منخفض). يُملأ بايت أخير فردي بصفر في النصف العالي. تُختزل المجموعتان بمقياس 65535.
هل Fletcher-32 تجزئة تشفيرية؟
لا. يكتشف Fletcher-32 التلف العرضي وكثيرًا من إعادة الترتيب بسرعة؛ وليس مصممًا لمقاومة التصادم أو التزوير المتعمد. استخدم أدوات عائلة SHA عندما تحتاج ملخصًا تشفيريًا.
كيف يُحسب مجموع تحقق Fletcher-32؟
يُحتفظ بمجموعين متراكمين، يُختزل كل منهما بباقي القسمة على 65535. تُضاف كل كلمة من ستة عشر بتًا إلى المجموع الأول، ثم يُضاف الأول إلى الثاني. وتضع النتيجة الثاني في البتات الستة عشر العليا والأول في الدنيا.
لماذا تعطي أداة أخرى نتيجة Fletcher-32 مختلفة؟
مع البايتات نفسها يكون السبب غالبًا طريقة مختلفة: تجميع الكلمات بترتيب big-endian بدل little-endian، أو معامل قسمة آخر، أو Fletcher-16 بدل Fletcher-32، أو Adler-32 الذي يبدأ مجموعه الأول بقيمة مختلفة.
ما مجموع تحقق Fletcher-32 لنص فارغ؟
هو 00000000، وتُوسم النتيجة بأنها فارغة. ويُقبل النص الفارغ عمدًا، كي تحصل البيانات الاختيارية دائمًا على القيمة الثابتة نفسها بدل رسالة خطأ.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/fletcher32 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/fletcher32", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/fletcher32",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/fletcher32", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/fletcher32", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "123456789"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.fletcher32",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يشترك ودجت المتصفح المجاني وواجهة API المدفوعة مسبقًا في وحدة حتمية واحدة، فلا تختلف عينات الواجبات وملاحظات البروتوكول وملحقات التكامل المستمر على الباقي. لا يدخل استدعاء شبكة ولا ملح عشوائي ولا ساعة حائط في الحساب؛ كل مسار ناجح حساب صرف بالسعر الأساسي المنشور $0.002.
عقد الإدخال وحقول الاستجابة وسلوك الإدخال الفارغ
السلسلة الفارغة مسموحة عمدًا: كثير من المسارات تلخّص حقولًا اختيارية وتحتاج باقيًا صفريًا مستقرًا بدل فشل قاسٍ. لا يوجد مبدّل وضع لـ Fletcher-16 أو Adler-32 أو CRC-32: إن احتجت تلك الملخصات فاستخدم قدرة مخصصة لتطابق كل صفحة هبوط نية بحث واحدة وslug SEO. أرسل جسم JSON بالحقل الإلزامي text مساويًا للسلسلة التي تريد حساب مجموع تحققها. تُقبل الأسماء البديلة input وvalue وs وstring وcontent حتى تبقى النماذج القديمة والعملاء القصيرون مرتبطين. تُحوَّل الأعداد المنتهية والأعداد الصحيحة الكبيرة إلى سلسلة قبل الحساب؛ والكائنات والمصفوفات والقيم المنطقية وnull وInfinity وNaN تثير invalid_input ولا تُفوتر. عندما يكون طول المصدر صفرًا تضع الاستجابة empty على true وfletcher32 على ثمانية أصفار وfletcher32_int على صفر وbytes على صفر وwords على صفر. مع إدخال غير فارغ يكون empty false وbytes يساوي طول UTF-8 وwords سقف ذلك الطول مقسومًا على اثنين وfletcher32 هو الباقي السداسي من ثمانية أرقام بحروف صغيرة بلا بادئة صفر-x وfletcher32_int نفس القيمة كعدد صحيح غير موقع من اثنين وثلاثين بتًا مفيد في اللغات التي تفضّل الأرقام على السلاسل. algorithm دائمًا التسمية Fletcher-32 وmodulus دائمًا السلسلة العشرية ستة-خمسة-خمسة-ثلاثة-خمسة حتى تقتبس أمثلة OpenAPI وردود الدعم الملف بلا غموض.
أين تضيف واجهة API لمجموع تحقق Fletcher-32 قيمة
تستخدم مختبرات التعليم نفس نقطة النهاية لإظهار أن تبادل كلمتين من ستة عشر بتًا يغيّر الملخص السداسي، موضحة حساسية الموضع بلا آلات تشفير. ولأن التنفيذ parse خالص من المستوى A، تكلف كل مكالمة ناجحة السعر الأساسي المنشور $0.002 بلا رموز نموذج ولا شبكة صادرة؛ والتحقق الفاشل لا يستهلك الرصيد. أبقِ الحمولات تحت سقف الأحرف الموثّق، واعتبر حقل السداسي هدف اللصق القانوني، فتحصل على قيم Fletcher-32 قابلة للتكرار للوثائق وSDK وعمال الحافة وعروض الصف دون إنشاء خدمة مجموع تحقق منفصلة.
أسئلة تقنية
كيف أحسب مجموع تحقق Fletcher-32 لنص؟
أرسل JSON مع text مساويًا لسلسلتك. يعيد الحقل fletcher32 ثمانية أرقام سداسية صغيرة للباقي على بايتات UTF-8 المعبأة ككلمات little-endian من ستة عشر بتًا؛ وfletcher32_int نفس القيمة كعدد صحيح غير موقع.
ماذا يحدث مع الإدخال الفارغ؟
النص الفارغ صالح. تضع الاستجابة empty على true وfletcher32 على 00000000 وfletcher32_int على 0 وbytes على 0 وwords على 0. text المفقود أو غير السلسلة يثير invalid_input.
كم تكلفة أداة مجموع تحقق Fletcher-32؟
ودجت المتصفح مجاني. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل مكالمة ناجحة؛ والإدخال غير الصالح لا يُفوتر.