ماشین حساب کد هش SHA-1
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۲۳:۲۵:۱۹ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۹:۱۰:۳۳ (UTC)
SHA-1 Hash Code Calculator
SHA-1 (الگوریتم هش امن ۱) یک تابع هش رمزنگاری است که توسط NSA طراحی و توسط NIST در سال ۱۹۹۵ منتشر شد. این تابع یک مقدار هش ۱۶۰ بیتی (۲۰ بایتی) تولید میکند که معمولاً به صورت یک رشته هگزادسیمال ۴۰ کاراکتری نمایش داده میشود. SHA-1 به طور گسترده برای ایمنسازی یکپارچگی دادهها، امضاهای دیجیتال و گواهینامهها استفاده میشد، اما اکنون به دلیل آسیبپذیری در برابر حملات تصادم، ناامن تلقی میشود. در صورتی که نیاز به محاسبه یک کد هش باشد که باید با یک سیستم قدیمیتر سازگار باشد، در اینجا گنجانده شده است، اما نباید هنگام طراحی سیستمهای جدید از آن استفاده شود.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش SHA-1
من ریاضیدان نیستم، بنابراین سعی میکنم این تابع هش را به روشی توضیح دهم که سایر افراد غیر ریاضیدان نیز بتوانند آن را درک کنند - اگر نسخه دقیق ریاضی علمی این توضیح را میخواهید، میتوانید آن را در بسیاری از وبسایتهای دیگر پیدا کنید ;-)
SHA-1 را مانند یک خردکن کاغذ مخصوص در نظر بگیرید که هر پیامی - چه یک کلمه، یک جمله یا یک کتاب کامل - را دریافت کرده و آن را به روشی بسیار خاص خرد میکند. اما به جای خرد کردن، به طرز جادویی یک "کد خرد شده" منحصر به فرد را منتشر میکند که همیشه دقیقاً 40 کاراکتر هگزادسیمال دارد.
- برای مثال، شما «سلام» را وارد میکنید.
- شما ۴۰ رقم هگزادسیمال مانند f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 دریافت میکنید.
فرقی نمیکند چه چیزی به آن بدهید - کوتاه یا بلند - خروجی همیشه طول یکسانی دارد.
«خردکن جادویی» در چهار مرحله کار میکند:
مرحله 1: کاغذ را آماده کنید (لایه برداری)
- قبل از خرد کردن، باید کاغذ خود را آماده کنید. تصور کنید که به انتهای پیام خود فضاهای خالی اضافه میکنید تا کاملاً در سینی خردکن جا شود.
- مثل وقتی است که کلوچه میپزید، و مطمئن میشوید که خمیر به طور یکنواخت قالب را پر میکند.
مرحله ۲: آن را به قطعات مساوی خرد کنید (تقسیم کردن)
- خردکن تکههای بزرگ را دوست ندارد. بنابراین، پیام آمادهشده شما را به قطعات کوچکتر و هماندازه خرد میکند - مانند بریدن یک کیک بزرگ به برشهای بینقص.
مرحله ۳: دستور پخت مخفی (مخلوط کردن و له کردن)
- حالا قسمت جالبش از راه میرسد! داخل دستگاه خردکن، هر تکه از پیام شما از میان مجموعهای از مخلوطکنها و غلتکها عبور میکند: مخلوط کردن: پیام شما را با برخی مواد مخفی (قوانین و اعداد از پیش تعیینشده) هم میزند. له کردن: قطعات را به روشی خاص له میکند، برمیگرداند و میچرخاند. پیچاندن: بعضی از قطعات پیچانده یا برعکس میشوند، مانند تا کردن کاغذ به شکل اوریگامی.
هر مرحله پیام را پیچیدهتر میکند، اما به روشی بسیار خاص که دستگاه همیشه از آن پیروی میکند.
مرحله ۴: کد نهایی (هش)
- بعد از تمام این مخلوط کردن و له کردن، یک کد مرتب و بهم ریخته حاصل میشود - مانند یک اثر انگشت منحصر به فرد برای پیام شما.
- حتی اگر فقط یک حرف را در پیام اصلی خود تغییر دهید، خروجی کاملاً متفاوت خواهد بود. به همین دلیل است که آن را خاص میکند.
دلیل اینکه دیگر نباید از SHA-1 استفاده شود این است که برخی افراد بسیار باهوش فهمیدهاند که چگونه دستگاه خردکن را فریب دهند تا برای دو پیام مختلف کد یکسانی تولید کند (به این حالت تصادم میگویند).
به جای SHA-1، اکنون "خردکنندههای" قویتر و هوشمندتری داریم. در زمان نوشتن این مطلب، الگوریتم هش پیشفرض من برای اکثر اهداف SHA-256 است - و بله، من یک ماشین حساب هم برای آن دارم: لینک
مطالعه بیشتر
اگر از این پست لذت بردید، ممکن است این پیشنهادات را نیز بپسندید:
