مولّد تجزئة Keccak-256

أنشئ تجزئة Keccak-256 لأي نص فورًا داخل متصفحك. إدخال UTF-8 أو ست عشري أو Base64، وإخراج ست عشري أو Base64. مجاني وخاص دون رفع.

Keccak-256

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو مولّد تجزئة Keccak-256؟

Keccak-256 هي دالة Keccak الأصلية (الفائزة بمسابقة SHA-3 كما قُدّمت عام 2011) بمخرج 256 بت، وذلك قبل أن يغيّر NIST الحشو في FIPS 202. تحسب هذه الأداة ملخص Keccak-256 بطول 256 بت لنص أو بايتات خام (ست عشري أو Base64) أثناء الكتابة، وتعرضه على هيئة 64 خانة ست عشرية أو Base64.

كيفية استخدام مولّد تجزئة Keccak-256

  1. اكتب مدخلاتك أو الصقها في الحقل النص المراد حساب تجزئته؛ يتحدّث الملخص أثناء الكتابة (الحقل الفارغ يعرض تجزئة مدخل فارغ).
  2. اختر ترميز الإدخال: الخيار نص (UTF-8) يحسب التجزئة لأحرف النص بترميز UTF-8، أما بايتات ست عشرية أو Base64 فيحسبها للبايتات الخام بعد فك ترميزها.
  3. اختر تنسيق الإخراج (ست عشري بأحرف صغيرة أو كبيرة أو Base64) ثم اضغط نسخ.

مثال

الإدخال
abc
الإخراج
4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45

تجزئة Keccak-256 لثلاثة بايتات ASCII هي "abc" (بترميز UTF-8 وإخراج ست عشري بأحرف صغيرة)، وهي متجه الاختبار القياسي.

متى تستخدم مولّد تجزئة Keccak-256

استخدم أداة نص Keccak-256 لتجزئة السلاسل النصية: لإعادة إنتاج قيمة من التوثيق أو الشيفرة، أو بناء متجهات اختبار، أو مقارنة مدخل توقيع API، أو معرفة ما يجب أن يُخرجه برنامج. لا تستخدمها للتحقق من ملف منزَّل: نسخ محتوى الملف إلى مربع نص يغيّر نهايات الأسطر والترميز، لذا استخدم أداة المجموع الاختباري Keccak-256 للملفات. للأعمال الجديدة المبنية على المعايير (FIPS وNIST) استخدم SHA3-256 بدلًا منها.

كيف يعمل مولّد تجزئة Keccak-256

Keccak-256 تمتصّ المدخل داخل حالة Keccak-f[1600] بطول 1600 بت في كتل بطول 1088 بت (السعة 512 بت) وتطبّق 24 جولة تبديل لكل كتلة. تحشو وفق قاعدة Keccak الأصلية pad10*1 (البايت 0x01 … 0x80) دون اللاحقة النطاقية 01 التي أضافها FIPS 202. أول 256 بت من الحالة هي الملخص، ولهذا تختلف Keccak-256 عن SHA3-256 لكل مدخل. يُحوَّل النص أولًا إلى بايتات (بترميز UTF-8 افتراضيًا)، فتعطي الأحرف نفسها التجزئة نفسها دائمًا.

حالات الاستخدام الشائعة

  • التحقق من قيمة Keccak-256 المتوقعة لسلسلة نصية في اختبار وحدة أو بيانات اختبار
  • حساب تجزئة بايتات ست عشرية منسوخة من مصحّح أخطاء أو التقاط حزم أو مواصفات بروتوكول
  • مقارنة ناتج Keccak-256 بين لغتي برمجة تعطيان نتيجتين مختلفتين
  • توليد معرّفات حتمية أو مفاتيح ذاكرة مؤقتة من نص
  • الحصول على صيغة Base64 لملخص Keccak-256 لاستخدامه في الترويسات أو ملفات الإعداد

ملاحظة أمنية

لا تُعرف أي هجمات عملية على Keccak-256. التجزئات المجردة غير مناسبة لتخزين كلمات المرور: استخدم دالة تجزئة بطيئة مملّحة مثل Argon2 أو scrypt أو bcrypt. تُحسب كل العمليات محليًا في متصفحك ولا يُرسل أي شيء تكتبه إلى أي مكان.

الأسئلة الشائعة

هل هذه هي التجزئة التي يسميها Ethereum باسم keccak256؟

نعم. الدالة keccak256 في Solidity وعناوين Ethereum (آخر 20 بايت من Keccak-256 للمفتاح العام) ومحددات الدوال (أول 4 بايتات من Keccak-256 للتوقيع، مثل transfer(address,uint256) ← a9059cbb) تستخدم جميعها Keccak-256 الأصلية هذه وليست SHA3-256 من FIPS 202.

كيف أحسب تجزئة قيمة ست عشرية كما يفعل Solidity؟

يجزّئ Solidity بايتات، فالتعبير keccak256(0x1234) يجزّئ بايتين. اختر بايتات ست عشرية كترميز للإدخال والصق القيمة الست عشرية دون مسافات؛ أما اختيار النص فيجزّئ أحرف ASCII بدلًا من ذلك.

لماذا يتغيّر الناتج كليًا حين أغيّر حرفًا واحدًا؟

هذا هو «أثر الانهيار» (avalanche effect) الذي صُمّمت كل دالة تجزئة تشفيرية لتحققه: قلب بت واحد في المدخل يغيّر نحو نصف البتات الـ 256 في الناتج، فتعطي المدخلات المتشابهة ملخصات لا علاقة بينها.

هل يهم وجود مسافة أو سطر جديد في النهاية؟

نعم. تغطي التجزئة كل بايت، لذا يعطي النص abc والنص نفسه متبوعًا بسطر جديد قيمتين مختلفتين لـ Keccak-256. تأكد من أن المدخل يحتوي بالضبط على البايتات التي تريد حساب تجزئتها.

استكشف المزيد من الفئات