Hash Generator

Hash Generator

هش‌های MD5، SHA-1، SHA-256، SHA-384، SHA-512 و CRC32 را از متن یا فایل‌ها مستقیماً در مرورگرتان محاسبه کنید. هیچ چیزی بارگذاری نمی‌شود.

خیر. تمام هش‌کردن کاملاً در مرورگر شما از طریق JavaScript و Web Crypto API انجام می‌شود. وقتی متن وارد می‌کنید یا فایل انتخاب می‌کنید، هیچ درخواست شبکه‌ای ارسال نمی‌شود. می‌توانید این را در Network tab مرورگر بررسی کنید.

برای یکپارچگی فایل (چک‌سام) از MD5 یا SHA-256 استفاده کنید — هر دو برای استفاده غیرامنیتی مناسب‌اند. برای امنیت (هش رمز عبور، امضا) از SHA-256 یا SHA-512 استفاده کنید، هرگز از MD5 یا SHA-1 استفاده نکنید (هر دو از نظر مقاومت در برابر برخورد شکسته شده‌اند). CRC32 فقط برای تشخیص خرابی تصادفی داده‌ها مفید است، نه برای امنیت.

0 کاراکتر · 0 بایت
الگوریتم‌ها
|

نکته: هش‌ها هم‌زمان با تایپ شما به‌صورت زنده محاسبه می‌شوند. برای هش‌کردن سریع‌تر فایل‌ها، تیک الگوریتم‌هایی را که نیاز ندارید بردارید.

چرا Hash Generator؟

سریع، خصوصی و پوشش‌دهنده هر الگوریتم هش رایج.

حریم خصوصی از طراحی

تمام هش‌کردن در مرورگر شما انجام می‌شود. متن و فایل‌های شما هرگز به هیچ‌جا ارسال، ذخیره یا ثبت نمی‌شوند.

شش الگوریتم هم‌زمان

MD5، SHA-1، SHA-256، SHA-384، SHA-512 و CRC32 — همه را به‌طور همزمان ببینید یا فقط آنچه لازم دارید انتخاب کنید.

هش فایل

هر فایلی (از جمله فایل‌های چند گیگابایتی) را رها کنید و همه هش‌ها را با نوار پیشرفت زنده دریافت کنید. خواندن قطعه‌ای مصرف حافظه را پایین نگه می‌دارد.

۳۱ زبان

در ۳۱ زبان با تشخیص خودکار مرورگر در دسترس است. پشتیبانی RTL برای عربی، فارسی و اردو.

خروجی زنده

هش‌ها هم‌زمان با تایپ به‌روز می‌شوند (با debounce کوتاه). کپی با یک کلیک برای هر نتیجه. تغییر حروف بزرگ/کوچک.

Web Crypto API

برای هش‌های SHA از Web Crypto API بومی مرورگر استفاده می‌کند — همان پیاده‌سازی که مرورگرها برای TLS و یکپارچگی زیرمنبع استفاده می‌کنند.

تولیدکننده هش چگونه کار می‌کند

Web Crypto API برای خانواده SHA، استریم برای فایل‌های بزرگ.

  1. 1

    فایل را رها کنید یا متن را بچسبانید

    برای ورودی متنی، آن را با TextEncoder به بایت‌های UTF-8 رمزگذاری می‌کنیم. برای فایل‌ها، آن‌ها را برای فایل‌های کوچک با File.arrayBuffer می‌خوانیم یا برای فایل‌های بزرگ‌تر از ~۱۰۰ مگابایت از طریق TransformStream استریم می‌کنیم.

  2. 2

    Web Crypto محاسبات را انجام می‌دهد

    crypto.subtle.digest('SHA-256', bytes) هش را با استفاده از پیاده‌سازی شتاب‌داده‌شده با سخت‌افزار مرورگر محاسبه می‌کند. این همان الگوریتمی است که OpenSSL استفاده می‌کند، فقط درون sandbox V8 / JavaScriptCore اجرا می‌شود. SHA-1، SHA-384 و SHA-512 به همین شکل کار می‌کنند.

  3. 3

    MD5 و CRC32 از طریق WebAssembly

    MD5 و CRC32 در Web Crypto نیستند (چون هر دو از نظر رمزنگاری شکسته شده‌اند یا اصلاً رمزنگاری نیستند). ما پیاده‌سازی‌های کوچک WASM (هرکدام ~۵ کیلوبایت) ارائه می‌دهیم که آن‌ها را با همان الگوی استریم محاسبه می‌کنند.

  4. 4

    نمایش هر ۶ هش

    نتایج با فرمت hex و یک دکمه کپی یک‌کلیکی در کنار هر کدام نمایش داده می‌شوند. همچنین خروجی Base64 را برای خانواده SHA ارائه می‌دهیم — که در مقایسه با ETagهای AWS S3 یا هدرهای HTTP Content-Digest رایج است.

چه زمانی به سراغ کدام هش برویم

هش‌سازی کاربردهای زیادی دارد — الگوریتم مناسب کار را انتخاب کنید.

تأیید یک ISO دانلود‌شده

از SHA-256 در برابر checksum منتشرکننده استفاده کنید. اگر حتی یک بایت دستکاری شده باشد، هضم‌ها متفاوت می‌شوند. MD5 و SHA-1 برای خرابی تصادفی مناسب‌اند اما در برابر مهاجم از آن‌ها استفاده نکنید.

حذف موارد تکراری در فایل‌ها

مجموعه‌ای از عکس‌ها را با SHA-1 (یا حتی MD5 اگر سرعت مهم‌تر از مقاومت در برابر تصادم است) هش کنید. هش‌های یکسان یعنی بایت‌های یکسان — برای پاک‌سازی آپلودهای تکراری مفید است.

تولید مقادیر ETag

AWS S3 برای اشیاء تک‌قطعه‌ای از MD5 و برای چندقطعه‌ای از طرحی متفاوت استفاده می‌کند. iKit MD5 خام را فوراً به شما می‌دهد، تا بتوانید بررسی کنید آیا فایل محلی شما با آنچه در S3 است مطابقت دارد یا خیر.

تأیید یک نسخه پشتیبان

اصل و نسخه پشتیبان را به‌طور جداگانه با SHA-256 هش کنید، دو رشته را مقایسه کنید. هش یکسان = محتوای یکسان. هش متفاوت = نسخه پشتیبان خراب یا قدیمی است.

چرا هش‌سازی محلی اهمیت دارد

برخی از هش‌کننده‌های آنلاین فایل شما را فقط برای محاسبه یک checksum آپلود می‌کنند — دقیقاً اشتباه‌ترین کار برای یک عملیات حساس به حریم خصوصی. تولیدکننده هش iKit همه چیز را در مرورگر با استفاده از Web Crypto محاسبه می‌کند، بنابراین حتی فایل‌های محرمانه یا خصوصی نیز بدون اینکه از دستگاه شما خارج شوند هش می‌شوند.

  • SHA با شتاب سخت‌افزاری از طریق Web Crypto API.
  • فایل‌های بزرگ را در قطعات ۶۴ کیلوبایتی استریم می‌کند — بدون آپلود، بدون انفجار حافظه.
  • بدون متادیتای فایل، بدون لاگ مرتبط با IP، بدون ثبت‌نام.

راهنماهای مرتبط

آموزش‌های تخصصی و مقایسه ابزارها از وبلاگ iKit.

پرسش‌های متداول

آیا ورودی من به سروری ارسال می‌شود؟

خیر. تمام هش‌کردن کاملاً در مرورگر شما از طریق JavaScript و Web Crypto API انجام می‌شود. وقتی متن وارد می‌کنید یا فایل انتخاب می‌کنید، هیچ درخواست شبکه‌ای ارسال نمی‌شود. می‌توانید این را در Network tab مرورگر بررسی کنید.

از کدام الگوریتم‌ها استفاده کنم؟

برای یکپارچگی فایل (چک‌سام) از MD5 یا SHA-256 استفاده کنید — هر دو برای استفاده غیرامنیتی مناسب‌اند. برای امنیت (هش رمز عبور، امضا) از SHA-256 یا SHA-512 استفاده کنید، هرگز از MD5 یا SHA-1 استفاده نکنید (هر دو از نظر مقاومت در برابر برخورد شکسته شده‌اند). CRC32 فقط برای تشخیص خرابی تصادفی داده‌ها مفید است، نه برای امنیت.

آیا MD5 و SHA-1 برای استفاده امن هستند؟

برای چک‌سام‌های فایل و تأیید یکپارچگی در برابر خرابی تصادفی، بله — MD5 و SHA-1 هنوز به‌طور گسترده استفاده می‌شوند (مثلاً در صفحات دانلود). برای اهداف حساس امنیتی (رمز عبور، امضا، گواهی)، خیر — هر دو دارای حملات برخورد شناخته‌شده‌اند. برای هر چیز حساس امنیتی از SHA-256 یا بالاتر استفاده کنید.

آیا می‌توانم فایل‌های بزرگ را هش کنم؟

بله. فایل‌ها در قطعات ۲ مگابایتی با پیشرفت زنده خوانده می‌شوند. MD5 و CRC32 کاملاً به‌صورت افزایشی پردازش می‌شوند (حافظه ثابت). هش‌های SHA به دلیل محدودیت‌های Web Crypto API نیاز به بارگیری فایل در حافظه دارند، بنابراین فایل‌های بالای ~۲ گیگابایت ممکن است در همه مرورگرها کار نکنند.

چرا MD5 و SHA-256 خروجی با طول متفاوت تولید می‌کنند؟

هر الگوریتم خلاصه‌ای با اندازه ثابت تولید می‌کند: MD5 = 128 bits (32 hex)، SHA-1 = 160 bits (40 hex)، SHA-256 = 256 bits (64 hex)، SHA-384 = 384 bits (96 hex)، SHA-512 = 512 bits (128 hex)، CRC32 = 32 bits (8 hex).