بازگشت

Hash Generator

رمزنگاری

ساخت هش MD5, SHA-1, SHA-256, SHA-512

آفلاین داده‌های شما روی مرورگر رمزنگاری

خانواده SHA-2

⚠ Deprecated SHA-1
✓ Recommended SHA-256
✓ Secure SHA-384
✓ Max Security SHA-512

خانواده SHA-3 (Keccak)

✓ Modern SHA3-256
✓ Modern SHA3-512

الگوریتم‌های Legacy

⚠ Legacy MD5
⚠ Legacy MD4
Checksum CRC32

HMAC (کلید امضا)

خروجی HMAC

هش فایل

فایل را اینجا رها کنید یا کلیک کنید (حداکثر ۵۰ مگابایت)

مقایسه‌ی هش

هش (Hash) چیست و چرا اهمیت دارد؟

هر بار که رمز عبور خود را تغییر می‌دهید، فایلی دانلود می‌کنید یا یک API درخواست می‌زند، احتمالاً یک تابع هش در پشت‌صحنه کار می‌کند. هش یا اثر انگشت دیجیتال داده نام دارد — تابعی ریاضی که هر ورودی با هر طولی را به یک رشته‌ی ثابت و منحصربه‌فرد تبدیل می‌کند. این فرآیند یک‌طرفه است: از هش نمی‌توان به داده‌ی اصلی رسید.

ویژگی‌های کلیدی توابع هش

  • قطعی‌بودن (Determinism): ورودی یکسان همیشه هش یکسان می‌دهد.
  • برگشت‌ناپذیری: از خروجی نمی‌توان ورودی را بازسازی کرد.
  • اثر بهمن (Avalanche Effect): تغییر یک کاراکتر در ورودی، کل هش را کاملاً عوض می‌کند.
  • طول ثابت: هش SHA-256 همیشه ۶۴ کاراکتر هگزادسیمال است، صرف‌نظر از اندازه‌ی ورودی.
  • مقاومت در برابر تصادم (Collision Resistance): عملاً غیرممکن است دو ورودی متفاوت هش یکسان بدهند.

الگوریتم‌های هش و مقایسه‌ی آن‌ها

نه تمام الگوریتم‌های هش یکسان هستند و نه برای یک هدف ساخته شده‌اند. این مقایسه به انتخاب درست کمک می‌کند:

  • MD5 (128 بیت / 32 کاراکتر): قدیمی‌ترین و پرکاربردترین. برای چک‌سام فایل هنوز رایج است ولی برای رمزنگاری رمز عبور به‌هیچ‌عنوان امن نیست — آسیب‌پذیری تصادم از سال ۱۹۹۶ شناخته شده است.
  • SHA-1 (160 بیت / 40 کاراکتر): جانشین MD5، ولی از سال ۲۰۱۷ توسط گوگل به‌صورت عملی شکسته شد (حمله‌ی SHAttered). فقط برای سازگاری با سیستم‌های قدیمی استفاده شود.
  • SHA-256 (256 بیت / 64 کاراکتر): استاندارد طلایی. در بیت‌کوین، TLS، امضای دیجیتال و اکثر سیستم‌های مدرن استفاده می‌شود. توصیه‌ی اول برای اکثر کاربردها.
  • SHA-384 و SHA-512 (384/512 بیت): امنیت بالاتر برای داده‌های حساس، گواهی‌های SSL و سیستم‌های دولتی.
  • SHA-3 / Keccak: نسل بعدی استاندارد NIST، با معماری کاملاً متفاوت (Sponge Construction). ایده‌آل وقتی می‌خواهید به SHA-2 وابسته نباشید.
  • HMAC (Hash-based Message Authentication Code): ترکیب هش با یک کلید مخفی برای تأیید هویت پیام. پایه‌ی توکن JWT و امضای API.

کاربردهای عملی هش در توسعه وب

توابع هش در بسیاری از لایه‌های یک اپلیکیشن وب حضور دارند:

  • ذخیره‌ی رمز عبور: هیچ‌گاه رمز عبور به‌صورت plaintext ذخیره نکنید. از bcrypt یا SHA-256+salt استفاده کنید.
  • تأیید یکپارچگی فایل (Checksum): بررسی اینکه فایل دانلودشده دستکاری نشده — با مقایسه‌ی MD5 یا SHA-256.
  • امضای دیجیتال API: HMAC-SHA256 برای تأیید هویت درخواست‌های API بدون ارسال کلید در هر بار.
  • Cache busting: اضافه کردن هش محتوا به نام فایل (مثلاً app.a3f91c.js) برای کنترل کش مرورگر.
  • توکن JWT: امضای payload با HMAC-SHA256 برای جلوگیری از دستکاری توکن.
  • Merkle Tree و بلاکچین: SHA-256 زیرساخت اصلی زنجیره‌ی بلاک‌های بیت‌کوین است.

ابزار آنلاین هش ساز وزیروب

با ابزار محاسبه Hash رمزنگاری آنلاین - Hash Generator وزیروب می‌توانید همزمان ۹ الگوریتم هش را برای یک ورودی محاسبه کنید: SHA-1، SHA-256، SHA-384، SHA-512، SHA3-256، SHA3-512، MD5، MD4 و CRC32. علاوه بر هش متن، امکان هش فایل (تا ۵۰ مگابایت) و محاسبه‌ی HMAC با کلید دلخواه نیز وجود دارد. بخش مقایسه‌ی هش به راحتی چک‌سام دو فایل یا رشته را با هم مقایسه می‌کند. تمام پردازش‌ها درون مرورگر انجام می‌شود — هیچ داده‌ای به سرور ارسال نمی‌شود.

سوالات متداول

پاسخ سوالات رایج درباره این ابزار

تفاوت MD5 و SHA-256 در چیست و کدام را انتخاب کنم؟

MD5 یک الگوریتم ۱۲۸ بیتی است که در سال ۱۹۹۶ آسیب‌پذیری تصادم (Collision) آن اثبات شد و برای امنیت مناسب نیست. SHA-256 با ۲۵۶ بیت، استاندارد فعلی صنعت است و در بیت‌کوین، TLS و JWT استفاده می‌شود. MD5 را فقط برای چک‌سام سریع فایل‌ها به کار ببرید؛ برای هر هدف امنیتی از SHA-256 یا بالاتر استفاده کنید.

آیا می‌توان از هش SHA-256 برای ذخیره‌ی رمز عبور استفاده کرد؟

خیر — حتی SHA-256 هم برای ذخیره‌ی رمز عبور کافی نیست. مشکل سرعت بسیار بالای SHA است که حملات brute-force را ساده می‌کند. برای هش رمز عبور باید از bcrypt، scrypt یا Argon2 استفاده کنید که عمداً کند طراحی شده‌اند و salt تصادفی دارند. اگر مجبور به استفاده از SHA هستید، حتماً salt اضافه کنید.

HMAC چیست و چه تفاوتی با هش ساده دارد؟

HMAC (Hash-based Message Authentication Code) ترکیب یک تابع هش با یک کلید مخفی است. هش ساده فقط یکپارچگی داده را تأیید می‌کند ولی HMAC هویت فرستنده را هم تضمین می‌کند — بدون کلید مخفی نمی‌توان HMAC معتبر ساخت. پایه‌ی امنیت توکن JWT، امضای webhook و احراز هویت API همین HMAC-SHA256 است.

SHA-3 چه مزیتی نسبت به SHA-256 دارد؟

SHA-3 (Keccak) با معماری کاملاً متفاوت (Sponge Construction) طراحی شده و هیچ وابستگی معماری به SHA-2 ندارد. اگر آسیب‌پذیری بنیادین در خانواده‌ی SHA-2 کشف شود، SHA-3 گزینه‌ی جایگزین آماده است. در عمل SHA-256 هنوز امن است ولی سیستم‌های با امنیت بالا یا دولتی ممکن است SHA-3 را ترجیح دهند.