تولید هش
متنی تایپ کنید یا فایلی انتخاب کنید تا چکیدههای MD5، SHA-1، SHA-256، SHA-384 و SHA-512 آن را کنار هم، هر کدام با دکمهٔ کپی جداگانه، دریافت کنید. محاسبهٔ هش روی دستگاه شما با Web Crypto API مرورگر و یک روال محلی MD5 انجام میشود؛ بنابراین فایلها هرگز بارگذاری نمیشوند.
۰ نویسه · ۰ واژه · ۰ خط
- MD5نامناسب برای امنیت
- —
- SHA-1نامناسب برای امنیت
- —
- SHA-256
- —
- SHA-384
- —
- SHA-512
- —
۰ نویسه · ۰ واژه · ۰ خط
کاملاً در همین زبانهٔ مرورگر اجرا میشود. متن شما هرگز آپلود یا ذخیره نمیشود.
اندازهٔ خروجی هش
طولها و هش ورودی خالی هنگام ساخت صفحه با MD5 خود این صفحه و Web Crypto API محاسبه شدهاند.
| الگوریتم | بیتهای خروجی | طول هگز | بیتهای بلوک | وضعیت | هش ورودی خالی |
|---|---|---|---|---|---|
| MD5 | 128 | 32 | 512 | شکسته: برخوردها در 2004 یافت شد | d41d8cd98f00b204e9800998ecf8427e |
| SHA-1 | 160 | 40 | 512 | شکسته: برخورد در 2017 نشان داده شد | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| SHA-256 | 256 | 64 | 512 | امن (SHA-2) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| SHA-384 | 384 | 96 | 1024 | امن (SHA-2) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b |
| SHA-512 | 512 | 128 | 1024 | امن (SHA-2) | cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e |
پنج الگوریتم که دو تای آنها منسوخ شدهاند
تابع هش ورودی با هر اندازه را به یک اثر انگشت با اندازهٔ ثابت تبدیل میکند. با تغییر یک نویسه، تقریباً نیمی از بیتهای خروجی عوض میشود؛ بنابراین حتی «UltKit» و «ultkit» خلاصههایی کاملاً نامرتبط تولید میکنند. MD5 که ران ریوِست در سال 1992 در RFC 1321 منتشر کرد، خروجی 128 بیتی (32 نویسهٔ هگزادسیمال) میدهد. در سال 2004 شیائویون وانگ و همکارانش نشان دادند چگونه میتوان دو ورودی متفاوت با هش MD5 یکسان ساخت و تا سال 2012 بدافزار Flame از یک برخورد MD5 برای جعل گواهی امضای کد مایکروسافت استفاده کرد. SHA-1 (160 بیت) هم به همین شکل شکسته شد، وقتی گوگل و CWI آمستردام در سال 2017 نخستین برخورد واقعی به نام SHAttered را منتشر کردند. هر دو در اینجا با برچسب «نامناسب برای امنیت» نشان داده شدهاند.
SHA-256، SHA-384 و SHA-512 به خانوادهٔ SHA-2 تعلق دارند که NIST در FIPS 180-4 مشخص کرده است و هیچ حملهٔ عملی علیه آنها شناخته نشده است. SHA-256 گزینهٔ پیشفرض برای دانلود نرمافزار، قالب جدیدتر اشیای Git، گواهیهای TLS و بیتکوین است. MD5 و SHA-1 برای کارهای غیرمخرب مانند تشخیص خرابی تصادفی یا یافتن فایلهای تکراری همچنان مناسباند و به همین دلیل بسیاری از صفحات دانلود هنوز آنها را فهرست میکنند.
چرا هش کردن با رمزنگاری فرق دارد
رمزگذاری از اساس برگشتپذیر است: هر کس کلید را داشته باشد، اصل داده را پس میگیرد. هش کلید ندارد و برگشتپذیر نیست، چون بیشمار ورودی به هر خلاصه نگاشت میشوند. این به معنای آن نیست که هش جای امنی برای رازها باشد. مهاجمی که SHA-256 یک ورودی کوتاه یا رایج را ببیند، کافی است نامزدها را هش کند تا یکی منطبق شود و جدولهای از پیش محاسبهشده میلیاردها گذرواژهٔ شناختهشده را پوشش میدهند. هشهای سریع برای سریع بودن ساخته شدهاند و پردازندههای گرافیکی امروزی در هر ثانیه میلیاردها حدس SHA-256 را امتحان میکنند.
پس گذرواژهها را با هش گذرواژهٔ عمداً کند و دارای salt مانند Argon2، bcrypt یا scrypt ذخیره کنید، نه با MD5 یا SHA-256 ساده، و خود گذرواژهها را با ساخت رمز عبور بسازید. از این صفحه برای کاری استفاده کنید که هشهای سریع خوب انجام میدهند: بررسی اینکه فایل دانلودشده با چکسام ناشر یکی است، مقایسهٔ دو فایل بدون باز کردن آنها یا کنترل خلاصهای که کد خودتان محاسبه کرده است. متن بهصورت UTF-8 و بدون خط جدید پایانی هش میشود؛ این دلیل معمول تفاوت نتیجه با echo "text" | sha256sum در ترمینال است. صفحهٔ ابزارهای توسعهدهندگان هش را با کدگذاریهای برگشتپذیر روی یک نمونه مقایسه میکند.
پرسشهای متداول
- چگونه فایل دانلودشده را با چکسام SHA-256 آن بررسی کنم؟
- فایل را با گزینهٔ هش کردن فایل انتخاب کنید و سپس سطر SHA-256 را با مقدار درجشده در سایت ناشر مقایسه کنید. همهٔ نویسهها باید یکسان باشند؛ هگزادسیمال با حروف بزرگ فقط شکل نمایش حروف a تا f را تغییر میدهد.
- آیا میتوان هش MD5 یا SHA-256 را رمزگشایی کرد؟
- خیر، چیزی برای رمزگشایی وجود ندارد. سایتهایی که مدعی برگرداندن هش هستند، خلاصه را در جدول رشتههای هششدهٔ قبلی جستوجو میکنند که فقط برای ورودیهای کوتاه یا رایج جواب میدهد.
- اگر MD5 شکسته شده است، چرا هنوز ارائه میشود؟
- بسیاری از سیستمها هنوز چکسام MD5 منتشر میکنند و برای تشخیص تغییرات تصادفی کاملاً کافی است. فقط در برابر مهاجمی که عمداً فایلهای دارای برخورد بسازد ناکارآمد است.
- هش MD5 یک رشتهٔ خالی چیست؟
- d41d8cd98f00b204e9800998ecf8427e. دیدن این مقدار معمولاً یعنی برنامه چیزی را هش نکرده است، مثلاً چون فایل پیش از اجرای هش بارگیری نشده است.
- آیا SHA-512 از SHA-256 امنتر است؟
- هر دو شکسته نشدهاند و از توان حملهٔ brute force بسیار دورند. SHA-512 خروجی بلندتری دارد و روی پردازندههای 64 بیتی ممکن است سریعتر باشد، اما SHA-256 برای چکسام و امضا انتخاب رایجتر و مورد انتظارتر است.