طريقة الاستخدام
- أدخل نصًا أو بايتات ست عشرية، أو افتح ملفًا عبر «فتح ملف» لحساب تجزئة محتواه.
- اختر «صيغة المخرجات»: الست عشري للمجاميع الاختبارية بأسلوب sha512sum، أو Base64 لسلاسل integrity.
- الصق قيمة متوقعة في حقل «المقارنة مع» للتحقق منها؛ تُقبل الصيغتان الست عشرية وBase64.
- تحتاج إلى SHA-384؟ اخترها من قائمة «الخوارزمية» أو انسخها من جدول «جميع الخوارزميات».
ما هي خوارزمية SHA-512؟
SHA-512 هي دالة SHA-2 ذات المخرجات الأطول، وهي محددة في FIPS 180-4 وRFC 6234. وبينما تعمل SHA-256 على كلمات من 32 بت، تستخدم SHA-512 كلمات من 64 بت وكتلًا من 1024 بت و80 جولة، وتُخرج ملخصًا بطول 512 بت: 128 حرفًا ست عشريًا أو 88 حرفًا بترميز Base64. وتبلغ مقاومتها للتصادم نحو 256 بت، وهو مستوى يتجاوز بكثير أي هجوم يمكن توقعه، وهي كأي دالة تجزئة أحادية الاتجاه: لا يمكن استعادة المدخلات من الملخص.
ولأنها تستخدم عمليات حسابية على 64 بت، كثيرًا ما تكون SHA-512 أسرع لكل بايت من SHA-256 على معالجات 64 بت التي لا تحتوي على تعليمات مخصصة لـ SHA-256. أما على المعالجات التي تحتوي عليها، فعادةً ما تكون SHA-256 أسرع.
SHA-384 وSHA-512/256 وغيرها من الصيغ المقتطعة
عدة دوال تجزئة قياسية هي في الأساس SHA-512 تعمل بقيم ابتدائية مختلفة وتُقتطع مخرجاتها إلى طول أقصر:
| الاسم | المخرجات | الطول بالست عشري | الاستخدام المعتاد |
|---|---|---|---|
| SHA-384 | 384 بت | 96 | مجموعات التشفير في TLS 1.3، وSubresource Integrity |
| SHA-512/256 | 256 بت | 64 | مخرجات بحجم SHA-256 بسرعة SHA-512 |
| SHA-512/224 | 224 بت | 56 | نادرة الاستخدام |
ولأن القيم الابتدائية مختلفة، فإن SHA-512/256 ليست أول 64 حرفًا ست عشريًا من SHA-512. كما تقاوم الصيغ المقتطعة هجوم تمديد الطول الذي يؤثر في SHA-256 وSHA-512 الكاملتين. تحسب هذه الصفحة SHA-384 وSHA-512؛ أما SHA-512/256 فاستخدم لها أداة أخرى، مثل openssl dgst -sha512-256.
سلاسل integrity بترميز Base64 وتجزئات كلمات المرور
لأن الصيغة الست عشرية طويلة جدًا، كثيرًا ما تحمل الصيغ المقروءة آليًا قيمة SHA-512 بترميز Base64. إذ تقبل Subresource Integrity البادئات sha256- وsha384- وsha512- متبوعة بملخص بترميز Base64، ويخزّن ملف package-lock.json في npm قيمة integrity لكل حزمة، تبدأ عادةً بـ sha512-. افتح الملف، واختر «Base64» في «صيغة المخرجات»، وأضِف البادئة.
أما تجزئات كلمات المرور في Linux التي تبدأ بـ $6$ فهي sha512crypt: أي SHA-512 مملّحة ومكررة آلاف المرات، لذا لا تساوي أبدًا تجزئة SHA-512 عادية لكلمة المرور. فتجزئة SHA-512 واحدة لكلمة مرور سهلة الكسر بالقوة الغاشمة مهما طال الملخص؛ لذا خزّن كلمات المرور باستخدام Argon2id أو scrypt أو bcrypt أو PBKDF2-HMAC-SHA512.
SHA-512 في سطر الأوامر وفي الشيفرة البرمجية
sha512sum file.tar.gz # Linux
shasum -a 512 file.tar.gz # macOS
certutil -hashfile file.tar.gz SHA512 # Windows
Get-FileHash file.tar.gz -Algorithm SHA512 # PowerShell
# ملخص Base64 لسمة integrity
openssl dgst -sha512 -binary file.js | openssl base64 -A
# Python
hashlib.sha512(data).hexdigest()
// Node.js
crypto.createHash('sha512').update(data).digest('base64')
تحسب هذه الصفحة SHA-512 باستخدام Web Crypto API في متصفحك، ويعرض جدول «جميع الخوارزميات» قيم SHA-384 وSHA-256 وSHA-1 وMD5 وCRC للمدخلات نفسها.
أمثلة
| المدخلات (UTF-8) | SHA-512 |
|---|---|
Hello, World! | 374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387 |
Base64.is | 44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2 |
你好 | 5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5 |
الأسئلة الشائعة
هل SHA-512 أكثر أمانًا من SHA-256؟
هامش الأمان فيها أكبر، إذ تبلغ مقاومتها للتصادم نحو 256 بت مقابل 128 بت لـ SHA-256، لكن كلتيهما لم تُكسر، وكلتاهما بعيدة جدًا عن متناول القوة الغاشمة. اختر SHA-512 عندما تتطلبها صيغة معينة، أو عندما تكون أسرع على عتادك، أو عندما تريد ملخصًا أطول؛ وإلا فإن SHA-256 كافية.
هل يمكن فك تشفير تجزئة SHA-512؟
لا. فملخص SHA-512 يبلغ دائمًا 64 بايتًا، سواء كانت المدخلات كلمة واحدة أو صورة قرص كاملة، لذا تشترك مدخلات لا حصر لها في كل ملخص، ولا يوجد ما يمكن فك ترميزه. ولا يمكن إلا مقارنة الملخص بتجزئة تخمين ما؛ وبهذه الطريقة تجد مواقع البحث الكلمات الشائعة وكلمات المرور، لكنها لا تجد أبدًا البيانات غير المتوقعة.
ما طول تجزئة SHA-512؟
==. ولكلٍّ من SHA3-512 وBLAKE2b وWhirlpool الطول نفسه، لذا الصق أي ملخص مجهول في أداة تحديد نوع التجزئة لترى أيها يناسبه.هل SHA-512 هي نفسها SHA3-512؟
لا. تعتمد SHA3-512 (FIPS 202) على Keccak، وهو تصميم مختلف تمامًا، وتعطي ملخصًا مختلفًا للمدخلات نفسها. ولا تحسب هذه الصفحة SHA-3.
لماذا تعطي سلسلتان متطابقتان في المظهر قيمتي تجزئة مختلفتين؟
لأن التجزئة تُحسب على البايتات. فحرف مثل é يمكن تخزينه نقطة ترميز واحدة، أو حرف e متبوعًا بعلامة نطق مركّبة (combining)، كما تغيّر المسافات الزائدة في النهاية ونهايات الأسطر (LF أو CRLF) ومجموعة الأحرف (UTF-8 أو UTF-16 أو Windows-1252) البايتات أيضًا. اختر في «ترميز النص» الترميز الذي استخدمه النظام الآخر، أو الصق البايتات نفسها بالصيغة الست عشرية.