تولیدکنندهٔ هش و بررسی چکسام
MD5، SHA-1، SHA-256، SHA-384 و SHA-512 هر متن یا فایلی را یکجا بگیرید، HMAC را با کلید مخفی محاسبه کنید و یک فایل را با چکسام منتشرشده مقایسه کنید.
اجرا در مرورگر شمابدون ثبتنامبدون آپلود
نحوهٔ استفاده از تولیدکنندهٔ هش
- متن را تایپ یا جایگذاری کنید، یا به حالت فایل بروید و فایلی را رها کنید. فایلهای بزرگ بهصورت تکهتکه و با نوار پیشرفت خوانده میشوند.
- هر پنج هش یکجا محاسبه میشوند. خروجی hex با حروف کوچک، HEX با حروف بزرگ یا Base64 را انتخاب کنید.
- گزینهٔ HMAC را فعال کنید و یک کلید مخفی (بهصورت متن، hex یا Base64) وارد کنید تا HMAC-SHA256 کلیددار و سایر نسخههای HMAC را بگیرید.
- برای بررسی یک فایل دانلودی، چکسام منتشرشده را در بررسی چکسام جایگذاری کنید. الگوریتم منطبق برجسته میشود.
هش چیست؟
یک تابع هش رمزنگاری هر ورودی را به اثرانگشتی با طول ثابت تبدیل میکند. ورودی یکسان همیشه هش یکسان میدهد، تغییر یک بایت هشی کاملاً متفاوت تولید میکند و نمیتوان هش را به ورودی اصلی برگرداند. همین ویژگیها هش را برای بررسی یکپارچگی فایل، ساخت کلید کش، حذف دادههای تکراری و امضای پیامها ایدهآل میکند.
از کدام الگوریتم استفاده کنم؟
| الگوریتم | خروجی | کاربرد |
|---|---|---|
| MD5 | 128 بیت · 32 hex | فقط چکسامهای قدیمی و کلیدهای کش غیرامنیتی. ساختن تصادم (collision) آسان است. |
| SHA-1 | 160 بیت · 40 hex | شناسههای اشیای Git و سیستمهای قدیمی. مقاومت در برابر تصادم آن از 2017 شکسته شده است. |
| SHA-256 | 256 بیت · 64 hex | انتخاب پیشفرض: چکسام دانلودها، امضاها، بلاکچینها، امضای درخواستهای API. |
| SHA-384 / SHA-512 | 384 / 512 بیت | حاشیهٔ امنیت بالاتر؛ SHA-512 روی CPUهای 64 بیتی اغلب از SHA-256 سریعتر است. |
از هیچکدام از اینها برای ذخیرهٔ رمز عبور استفاده نکنید. آنها برای سرعت طراحی شدهاند که به نفع مهاجمان است. بهجای آن از یک هش کند مخصوص رمز عبور مانند Argon2id، scrypt یا bcrypt استفاده کنید.
بررسی چکسام فایل
ناشران نرمافزار اغلب یک SHA-256 کنار هر دانلود منتشر میکنند. فایل را اینجا رها کنید، مقدار منتشرشده را جایگذاری کنید و ابزار میگوید که مطابقت دارند یا نه. میتوانید خط را مستقیماً از فایل SHA256SUMS جایگذاری کنید؛ نام فایل بعد از هش نادیده گرفته میشود. دستورهای معادل:
sha256sum file.iso # Linux
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
HMAC چیست؟
HMAC (RFC 2104) یک کلید مخفی را با هش ترکیب میکند، بنابراین فقط کسی که کلید را دارد میتواند مقدار را تولید یا بررسی کند. وبهوکهای Stripe، GitHub و Slack با HMAC-SHA256 امضا میشوند و JWTهایی با الگوریتم HS256 هم از آن استفاده میکنند. هنگام دیباگ، بدنهٔ خام درخواست و کلید امضای خود را جایگذاری کنید تا امضا را بازتولید کنید.
پرسشهای متداول
آیا فایلهای من برای محاسبهٔ هش آپلود میشوند؟
چرا هش من با هش ابزار دیگری فرق دارد؟
echo "text" | sha256sum یک خط جدید اضافه میکند؛ از echo -n استفاده کنید.