مولّد Hash (SHA)
يحسب ملخصات SHA-1 وSHA-256 وSHA-384 وSHA-512 التشفيرية للنص الذي تُدخله. يستخدم Web Crypto API في المتصفح؛ ولا يُرسَل النص إلى الخادم.
الملخصات
أدخل نصًا أعلاه؛ تظهر الملخصات فورًا.
- SHA-256
- —
- SHA-512
- —
- SHA-384
- —
- SHA-1
- —
الأسئلة الشائعة
ما الفرق بين SHA-256 وSHA-512؟
كلاهما من عائلة SHA-2. ينتج SHA-256 ملخصًا من 256 بت (64 محرفًا ست عشريًا)، وينتج SHA-512 ملخصًا من 512 بت (128 محرفًا). وعادةً يكون SHA-512 أسرع على المعماريات 64 بت، بينما SHA-256 هو الافتراضي الشائع بمخرَجه الأقصر.
لماذا لا تولّد هذه الأداة MD5؟
MD5 وSHA-1 مكسوران أمام هجمات التصادم؛ ولا يُنصَح باستخدامهما لأغراض أمنية. تستخدم هذه الأداة الخوارزميات التي تدعمها Web Crypto API الأصلية في المتصفح — وMD5 غير موجود فيها عمدًا. وأُبقي SHA-1 للمقارنة مع الأنظمة القديمة فقط.
هل أستخدم الـ hash لتخزين كلمات المرور؟
لا. SHA سريع — وهذا ضعف بالنسبة لكلمات المرور؛ إذ يمكن للمهاجم تجربة مليارات المحاولات في الثانية. لكلمات المرور استخدم خوارزمية بطيئة ومملّحة عمدًا: bcrypt أو scrypt أو Argon2. وفي .NET يصلح PBKDF2 (Rfc2898DeriveBytes) أيضًا.
هل يُنتج الإدخال نفسه دائمًا الـ hash نفسه؟
نعم. دوال الـ hash التشفيرية حتمية: تعطي سلسلة البايتات نفسها الملخص نفسه دائمًا. وحتى تغيير بت واحد يُنتج ملخصًا مختلفًا تمامًا بتأثير الانهيار. لذلك تُستخدَم الـ hash للتحقق من السلامة.
كيف أحسب SHA-256 في .NET؟
تعطي System.Security.Cryptography.SHA256.HashData(byte[]) الملخص في سطر واحد. وللتدفّق تُستخدَم SHA256.Create() وComputeHash. المخرَج مصفوفة بايتات؛ وتُحوَّل إلى نص ست عشري بـ Convert.ToHexString.