مولّد تجزئة SHA-384

إنشاء تجزئة SHA-384 من أي نص

نص الإدخال

يعمل محليًا · آمن للصق الأسرار

تجزئة SHA-384

ستظهر تجزئة SHA-384 هنا…

ما هي تجزئة SHA-384؟

SHA-384 دالة تجزئة تشفيرية معرَّفة في NIST FIPS 180-4 ضمن عائلة SHA-2. تقبل مدخلاً بطول اعتباطي وتُنتج ملخصاً ثابتاً بحجم 384 بت (48 بايت)، يُعرض اصطلاحاً كسلسلة سداسية عشرية مكوّنة من 96 حرفاً. تُستخدم SHA-384 على نطاق واسع في مجموعات تشفير TLS وتوقيعات شهادات رقمية والأنظمة الحكومية التي تتطلب هامشاً أعلى من مقاومة التصادم مقارنةً بما توفره SHA-256.

داخلياً، SHA-384 متغير مختصَر من SHA-512. تستخدم حجم كتلة 1024 بت و80 جولة ضغط وحساباً على كلمات 64 بت — تماماً كـ SHA-512 — لكنها تبدأ بمجموعة مختلفة من قيم التجزئة الأولية (مشتقة من الأعداد الأولية من التاسع حتى السادس عشر) ولا تُخرج سوى أول 384 بت من الحالة النهائية. هذا الاختصار يعني أن SHA-384 تُنتج ملخصاً مختلفاً عن SHA-512 للمدخلات ذاتها، رغم أنهما يشتركان في نفس الخوارزمية الأساسية.

نظراً لعمل SHA-384 على كلمات 64 بت، تعمل بسرعة أعلى من SHA-256 على المعالجات الحديثة ذات 64 بت مع تقديم ملخص أكبر. يجعلها ذلك خياراً وسطاً عملياً: أقوى من SHA-256 (192 بت من مقاومة التصادم مقابل 128 بت) دون عبء التخزين المرتبط بمخرج SHA-512 المكوّن من 128 حرفاً سداسياً. SHA-384 هي التجزئة الافتراضية لتوقيعات التحقق من الشهادات في TLS 1.3 وتشترطها NSA Suite B (المعروفة الآن بـ CNSA) للبيانات السرية للغاية.

لماذا تستخدم هذا المولّد أونلاين؟

يستلزم إنشاء تجزئات SHA-384 عادةً أمر طرفية أو كتابة كود. تتيح لك هذه الأداة المبنية على المتصفح حساب ملخصات SHA-384 فوراً دون تثبيت أي شيء أو إرسال بيانات إلى خادم. سواء احتجت إلى إنشاء تجزئة SRI لأصل CDN، أو التحقق من مجموع اختباري لملف، أو مقارنة مخرج SHA-384 بـ SHA-256 للمدخل ذاته، توفر لك هذه الأداة طريقة فورية وخالية من الاعتماديات للعمل مع ملخصات SHA-384 في أي متصفح حديث.

حساب فوري في المتصفح
الصق النص واحصل على تجزئة SHA-384 المكوّنة من 96 حرفاً فوراً. تتولى Web Crypto API الحساب بشكل أصلي في متصفحك دون أي اعتماديات خارجية.
🔒
تجزئة تُقدّم الخصوصية أولاً
لا يغادر مدخلك جهازك أبداً. تعمل عملية التجزئة بالكامل محلياً عبر Web Crypto API — لا طلبات خادم، لا تسجيل، لا احتفاظ بالبيانات.
📋
صيغ مخرجات جاهزة للنسخ
بدّل بين مخرج سداسي بأحرف صغيرة أو كبيرة بنقرة واحدة. انسخ التجزئة إلى الحافظة للاستخدام في ملفات المجاميع الاختبارية أو الإعدادات أو التوثيق.
🔍
بدون حساب أو تثبيت
يعمل في أي متصفح حديث — Chrome وFirefox وSafari وEdge. لا تسجيل، لا إضافة، لا إعداد لواجهة سطر الأوامر.

حالات استخدام مولّد تجزئة SHA-384

التحقق من شهادات TLS
يستخدم TLS 1.2 و1.3 تجزئة SHA-384 في التحقق من توقيعات الشهادات ودالة الاشتقاق الشبه‑عشوائية (PRF). احسب ملخصات SHA-384 للتحقق من بصمات الشهادات مقابل القيم المتوقعة خلال عمليات التدقيق الأمني.
سلامة الموارد الفرعية (SRI)
أنشئ تجزئات SHA-384 لملفات JavaScript وCSS المحمَّلة من CDNs. تستخدم سمة integrity في وسوم script وlink تجزئة SHA-384 مُرمَّزة بـ Base64 افتراضياً في معظم مولّدات SRI.
الأنظمة الحكومية وأنظمة الامتثال
تُلزم CNSA (المعروفة سابقاً بـ NSA Suite B) باستخدام SHA-384 لحماية المعلومات السرية. أنشئ تجزئات للتحقق من سلامة المستندات في سير عمل الامتثال التي تشترط خوارزميات FIPS 180-4.
التحقق من سلامة الملفات
احسب مجاميع SHA-384 الاختبارية لصور البرامج الثابتة وإصدارات البرمجيات وملفات الإعدادات. قارن التجزئة قبل النقل وبعده للكشف عن تلف البيانات أو التلاعب بها.
اشتقاق مفاتيح HMAC-SHA384
تُقرن SHA-384 بـ HMAC لمصادقة الرسائل في بروتوكولات مثل IPsec وTLS. استخدم هذه الأداة للتحقق من مخرجات التجزئة المتوقعة عند تصحيح أخطاء تطبيقات HMAC-SHA384.
تمارين التشفير الأكاديمية
يمكن للطلاب الذين يدرسون عائلة SHA-2 مقارنة مخرج SHA-384 بـ SHA-256 وSHA-512 للمدخل ذاته لملاحظة كيف تُنتج متجهات الأولية المختلفة والاختصار ملخصات متباينة.

مقارنة متغيرات عائلة SHA-2

تنتمي SHA-384 إلى عائلة SHA-2 جنباً إلى جنب مع عدة متغيرات أخرى. يوضح الجدول أدناه الفروق بينها من حيث حجم الملخص وطول المخرج والتطبيقات الأكثر شيوعاً.

المتغيرحجم الملخصطول السداسي العشريالحجم بالبايتالأنسب لـ
SHA-384384 bits96 hex chars48 bytesTLS 1.2/1.3, government/CNSA, certificate signatures
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-384 مقابل SHA-256 مقابل SHA-512 مقابل SHA-3-384

يعتمد الاختيار بين SHA-384 وخوارزميات التجزئة الأخرى على متطلبات الأمان وقيود المنصة واحتياجات الأداء. تشمل هذه المقارنة الخصائص الأكثر أهمية.

الخاصيةSHA-384SHA-256SHA-512SHA-3-384
Digest size384 bits (96 hex)256 bits (64 hex)512 bits (128 hex)384 bits (96 hex)
Internal state512 bits (8x64-bit)256 bits (8x32-bit)512 bits (8x64-bit)1600 bits (sponge)
Block size1024 bits512 bits1024 bits832 bits
Rounds80648024
Word size64 bits32 bits64 bitsN/A (sponge)
Length extensionResistantVulnerableVulnerableResistant
64-bit performanceFast (native ops)Slower (32-bit ops)Fast (native ops)Moderate
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo

كيف تعمل SHA-384 داخلياً؟

تعالج SHA-384 المدخل عبر بناء Merkle–Damgård ذاته الذي تستخدمه SHA-512. يُرفَّد المدخل ليكون مضاعفاً لـ 1024 بت، ثم يُقسَّم إلى كتل، وتمر كل كتلة بـ 80 جولة خلط تستخدم دوال Ch وMaj وSigma بحساب على كلمات 64 بت. الفارق الجوهري عن SHA-512 يكمن في قيم التجزئة الأولية: تستخدم SHA-384 قيماً مشتقة من الأجزاء الكسرية للجذور التربيعية للأعداد الأولية من التاسع حتى السادس عشر، بينما تستخدم SHA-512 الأعداد الأولية الثمانية الأولى. بعد معالجة جميع الكتل، تقتطع SHA-384 الحالة الداخلية البالغة 512 بت إلى أول 384 بت منها.

Input: "hello world"
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
(384 bits = 48 bytes = 96 hex characters)

يعني الاختصار والتهيئة المختلفة أن SHA-384 وSHA-512 تُنتجان دائماً ملخصات مختلفة للمدخل ذاته. يجعل ذلك SHA-384 مقاومةً بطبيعتها لهجمات تمديد الطول، خلافاً لـ SHA-256 وSHA-512 اللتين يستطيع فيهما المهاجم إلحاق بيانات وحساب تجزئة صالحة دون معرفة الرسالة الأصلية.

أمثلة كود SHA-384

تدعم SHA-384 بشكل أصلي في جميع اللغات وبيئات التشغيل الرئيسية. فيما يلي أمثلة عملية يمكنك نسخها مباشرةً في مشاريعك.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha384(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-384', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha384('hello world')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha384').update('hello world').digest('hex')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"
Python
import hashlib

# Basic SHA-384 hash
result = hashlib.sha384(b'hello world').hexdigest()
print(result)
# → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

# Hash a string with Unicode characters
text = 'café ☕'
hashlib.sha384(text.encode('utf-8')).hexdigest()
# → 96-character hex string

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha384()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    // SHA-384 lives in the crypto/sha512 package
    hash := sha512.Sum384(data)
    fmt.Printf("%x\n", hash)
    // → fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
}
CLI (Linux / macOS)
# Using sha384sum (Linux)
echo -n "hello world" | sha384sum
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# macOS
echo -n "hello world" | shasum -a 384
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha384
# → SHA2-384(stdin)= fdbd8e75a67f29f701a4e040385e2e23986303ea...

# Verify a file checksum
sha384sum myfile.bin > checksum.txt
sha384sum -c checksum.txt
# → myfile.bin: OK

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

ما الفرق بين SHA-384 وSHA-512؟
تستخدم SHA-384 وSHA-512 دالة الضغط ذاتها وحجم الكتلة ذاته (1024 بت) وعدد الجولات ذاته (80). تختلفان في أمرين: تبدأ SHA-384 بقيم تجزئة أولية مختلفة (مشتقة من الأعداد الأولية 9–16 عوضاً عن 1–8)، ولا تُخرج سوى أول 384 بت من الحالة الداخلية البالغة 512 بت. هذا يعني أنهما تُنتجان دائماً ملخصات مختلفة للمدخل ذاته.
هل SHA-384 أكثر أماناً من SHA-256؟
توفر SHA-384 مقاومة تصادم بمقدار 192 بت مقارنةً بـ 128 بت في SHA-256، استناداً إلى حد هجوم عيد الميلاد الذي يساوي نصف طول الملخص. لمقاومة الصورة الأصلية، تُقدّم SHA-384 حماية بمقدار 384 بت مقابل 256 بت. من الناحية العملية، كلتاهما آمنة بالنسبة لنماذج التهديد الحالية، إلا أن SHA-384 تُوفر هامش أمان أكبر لحماية البيانات على المدى البعيد، وتشترطها بعض المعايير الحكومية.
لماذا يستخدم TLS تجزئة SHA-384 بدلاً من SHA-512؟
تستخدم مجموعات تشفير TLS مثل TLS_AES_256_GCM_SHA384 تجزئة SHA-384 لأنها توفر مقاومة تصادم كافية (192 بت) مع إبقاء حجم الملخص معقولاً. يُضيف مخرج SHA-512 المكوّن من 128 حرفاً سداسياً عبئاً في رسائل المصافحة وسلاسل الشهادات دون فائدة أمنية مناسبة لحالة استخدام TLS. كما تتوافق SHA-384 مع مستوى الأمان البالغ 192 بت الذي تستهدفه AES-256.
كيف تُستخدم SHA-384 في سلامة الموارد الفرعية (SRI)؟
تستخدم وسوم SRI في HTML الصيغة integrity="sha384-{base64hash}" للتحقق من أن السكريبتات وأوراق الأنماط المجلوبة من CDNs لم تُعدَّل. يحسب المتصفح تجزئة SHA-384 للملف المُنزَّل ويقارنها بالقيمة المتوقعة. إن لم تتطابقا، يُحظر المورد. SHA-384 هي الخوارزمية الأكثر استخداماً في SRI لأنها توازن بين الأمان وحجم الملخص.
هل يمكن عكس SHA-384 لاسترداد المدخل الأصلي؟
لا. SHA-384 دالة أحادية الاتجاه بطبيعتها. تمتلك مقاومة صورة أصلية بمقدار 384 بت، أي لا توجد طريقة معروفة لاسترداد المدخل من ملخص SHA-384 أسرع من البحث بالقوة الغاشمة عبر 2^384 احتمالاً. غير أن المدخلات القصيرة أو المتوقعة (كالكلمات المرورية الشائعة) يمكن إيجادها باستخدام جداول قوس قزح المحسوبة مسبقاً أو هجمات القاموس، ولهذا ينبغي تجزئة كلمات المرور بخوارزميات مخصصة كـ bcrypt أو Argon2.
هل SHA-384 مدعومة في Web Crypto API؟
نعم. تُطبّق جميع المتصفحات الحديثة SHA-384 عبر crypto.subtle.digest('SHA-384', data). هذه هي نفس API التي تستخدمها هذه الأداة. وهي متاحة أيضاً في Node.js 18+ وDeno. تُعيد Web Crypto API قيمة ArrayBuffer تحوّلها إلى سلسلة سداسية بتعيين كل بايت إلى تمثيله المكوّن من حرفين سداسيَّين.
متى يجب أن أستخدم SHA-384 بدلاً من SHA-256؟
استخدم SHA-384 حين تتطلب سياستك الأمنية أكثر من 128 بت من مقاومة التصادم، أو حين تحتاج إلى الامتثال لمعايير CNSA/Suite B للبيانات السرية، أو حين تستخدم فعلاً AES-256 وتريد مستوى أمان متوافقاً بقدر 192 بت. كما تعمل SHA-384 بسرعة أعلى من SHA-256 على المعالجات ذات 64 بت نظراً لاستخدامها عمليات الكلمات الأصلية ذات 64 بت. لمعظم تطبيقات الويب والتجزئة ذات الأغراض العامة، تبقى SHA-256 الخيار المعياري.