نمایش نتایج 1 تا 2 از 2

نام تاپیک: md5 برای هر کاراکتر

  1. #1

    md5 برای هر کاراکتر

    سلام
    یه سوال در مورد MD5 دارم
    برای هر کاراکتر چند رشته کد MD5 میتونه وجود داشته باشه؟
    مثلا برای حرف A فقط و فقط یک رشته کد MD5 میشه تولید کرد یا تعداد بیشتری؟

  2. #2

    نقل قول: md5 برای هر کاراکتر

    نقل قول نوشته شده توسط m0rt3z@ مشاهده تاپیک
    سلام
    یه سوال در مورد MD5 دارم
    برای هر کاراکتر چند رشته کد MD5 میتونه وجود داشته باشه؟
    مثلا برای حرف A فقط و فقط یک رشته کد MD5 میشه تولید کرد یا تعداد بیشتری؟
    برای هر داده ورودی مشخصی فقط و فقط یک hash خروجی MD5 بدست میاد، تعدادش به دو تا نمیرسه، همیشه یک دونه است.
    اما بر عکسش صدق نمی کنه، بی نهایت داده ورودی متفاوت وجود داره که MD5 شون یکسان ئه.

    در نظر بگیرید که روال MD5 بر اساس کاراکتر نیست، اگر ورودی شما یک کاراکتر A است قبل از تحویل دادن به MD5 به آرایه ای از بایت ها تبدیل میشه.
    این مساله از این بابت مهم ئه که کاراکتر A در سیستم های متفاوت رشته ای داده متفاوتی داره، فرضا A در ANSI با A در Unicode-16 و A در UTF-8 الزاما داده های یکسانی ندارند و در نتیجه hash ئه MD5 شون هم یکسان نیست. پس اگر دیدید در جایی A خروجی MD5 متفاوتی داشته بخاطر متفاوت بودن سیستم رشته ای است.

    MD5 یک داده به عنوان ورودی میگیره و یک داده 128 بیتی به عنوان خروجی تحویل میده. حالا داده ورودی میتونه یک بایت باشه یا یک میلیون بایت باشه.
    اگر اون داده ورودی رو هزار بار هم به MD5 تحویل بدید همیشه داده خروجی یکسانی تحویل می گیرید.
    اگر داده ورودی چند بایت باشه و ترتیب بایت ها رو برعکس کنید MD5 خروجی اش کلا عوض میشه،
    پس MD5 برای ورودی AAAAAA و AAAAAB و BAAAAA شبیه هم نیست و hash خروجی متفاوتی دارن.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •