محاسبه هش MD5 و SHA

متن را بنویسید؛ هش MD5، SHA-1، SHA-256 و SHA-512 آن یکجا می‌آید. متن فارسی با UTF-8 به بایت تبدیل می‌شود، همان کاری که زبان‌های برنامه‌نویسی می‌کنند؛ مثلاً MD5 کلمهٔ «سلام» می‌شود 78903c575b0dda53c4a7644a2dd36d0e.

هش متن با UTF-8
  • MD578903c575b0dda53c4a7644a2dd36d0e
  • SHA-1fa65ac7860c0f271adfbf80005f10a9c18918923
  • SHA-256bda1fa48345336618741fd2c4bc02809eb099c49a9b02fb5056401ab6d4dc3e6
  • SHA-512a6d01bc2109487ec6d6de1c71c9ee40c04acb720028314396f0f1638937bfae759397b695eca2f4f4ccb47cf49ce0930a8e68e0e4cefa69c721507f479c4157e

هش چیست و به چه کار می‌آید؟

هش اثر انگشت یک‌طرفهٔ داده است: هر متنی، کوتاه یا بلند، به رشته‌ای با طول ثابت تبدیل می‌شود و کوچک‌ترین تغییر، هش را کاملاً عوض می‌کند. MD5 کلمهٔ abc 900150983cd24fb0d6963f7d28e17f72 است و MD5 کلمهٔ abd 4911e516e5aa21d327512e0c8b197616.

از هش برای بررسی درستی فایل دانلودشده (مقایسه با هشی که سازنده منتشر کرده)، پیدا کردن داده‌های تکراری و ساختن شناسه استفاده می‌شود. از روی هش نمی‌شود متن اصلی را محاسبه کرد.

MD5 یا SHA-256؟

MD5 و SHA-1 دیگر امن شمرده نمی‌شوند: برای هر دو، ساختن دو دادهٔ متفاوت با هش یکسان عملاً ممکن شده است. برای بررسی سادهٔ خطای انتقال هنوز به کار می‌آیند، اما برای امضا و امنیت از SHA-256 یا SHA-512 استفاده کنید. برای ذخیرهٔ پسورد در پایگاه داده هیچ‌کدام کافی نیست؛ الگوریتم‌های کندی مثل bcrypt یا Argon2 برای همین کار ساخته شده‌اند.

پرسش‌های پرتکرار

هش متن من جایی فرستاده می‌شود؟

نه؛ MD5 با کد خود صفحه و SHA با Web Crypto مرورگر حساب می‌شود و متن از دستگاه شما بیرون نمی‌رود.

چرا هش این‌جا با سایت دیگری فرق دارد؟

معمولاً به خاطر خط تازه یا فاصلهٔ اضافهٔ آخر متن، یا رمزگذاری غیر از UTF-8 برای حروف فارسی. این‌جا متن دقیقاً همان‌طور که نوشته شده با UTF-8 هش می‌شود.

می‌شود هش MD5 را برگرداند؟

نه؛ هش یک‌طرفه است. سایت‌هایی که «رمزگشایی MD5» می‌کنند فقط هش متن‌های رایج را از پیش ذخیره کرده‌اند و دنبالش می‌گردند.