UltKit

تولید هش

متنی تایپ کنید یا فایلی انتخاب کنید تا چکیده‌های 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 محاسبه شده‌اند.

الگوریتمبیت‌های خروجیطول هگزبیت‌های بلوکوضعیتهش ورودی خالی
MD512832512شکسته: برخوردها در 2004 یافت شدd41d8cd98f00b204e9800998ecf8427e
SHA-116040512شکسته: برخورد در 2017 نشان داده شدda39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-25625664512امن (SHA-2)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-384384961024امن (SHA-2)38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA-5125121281024امن (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 برای چکسام و امضا انتخاب رایج‌تر و مورد انتظارتر است.