• illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید تا کنون 6251 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !

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

6 6997 ۹ دی ۹۳

همیشه برای ذخیره اطلاعات مهم داخل دیتابیس و انتقال اطلاعات مهم از رمز نگاری استفاده کنید . این کار باعث میشود که اگه اطلاعات شما دست شخص دیگری افتاد و یا موقع انتفال اطلاعات لو رفت هکر یا شخصی که اطلاعات دستش هست نتونه از اطلاعات استفاده کنه و به دردش نخوره . تو دنیا اینترنت خیلی پیش اومده که سایت های بزرگ هک شدن و دیتابیس اون ها به دست هکر ها افتاد اما چون از الگوریتم های رمزنگاری و هش استفاده شده بوده نتونستن به جز رمز های خیلی ساده که دیتابیس اون تو اینترنت هست رمز های دیگر کاربران رو بدست بیارن .  برای مثال داخل وب سایت جدول کاربران باید به نحوی ذخیره شود که اگر یه موقع وب سایت هک شد یا سرور مشکل پیدا کرد و دیتابیس لو رفت مشکلی برای کاربران پیش نیاد و رمز آن ها لو نرود . برای اینکار می توان دو کار انجام داد راه اول هش کردن اطلاعات می باشد و راه دوم رمزنگاری اطلاعات . فرق بین هش و رمزنگاری این است که هش هیچگونه بازگشتی ندارد اما رمزنگاری قابل بازگشت هست . اما راه اول این هست که رمز عبور رو هش کنیم و داخل جدول بریزید و موقع ورودی کاربر رمز عبور رو هش و با رمز هش شده داخل جدول مقایسه میکنیم تنها محدودیت این روش این هست که هش کردن هیچگونه بازگشتی ندارد . نمک یا salf یک مقدار ثابتی هست که به رمز عبور اضافه میشود تا رمز گشایی آن را برای هکر سخت کند . در تمام الگوریتم های زیر می توان salt رو به پسورد کاربر اضافه کرد و موقع تشخیص هم باید salft اضافه شود .

یک مثال از هش

تو این مثال از یک تابع هش معروف PHP به نام md5 استفاده شده است . این تابع امن نیست اما نه به دلیل اینکه رمز آن شکسته شده بلکه بخاطر اینکه دیتابیس های بسیار بزرگی از این هش تو اینترنت وجود دارند و با دادن هش راحت عبارت اصلی بدست می آید حتی با اینکه شما salt به پسورد اضافه کرده باشید باز هم ممکن هست با دیتابیس های بزرگی که در سطح اینترنت هست رمز شما لو برود . اما می توان برای هش کردن مطمئن از تابع crypt و تابع password_hash استفاده کرد .

توجه : برای استفاده از تابع password_hash نیاز به نسخه PHP 5.5 هست و برای تابع crypt نیاز به PHP 5 می باشد .

مثالی از تابع password_hash

در مثال بالا ابتدا پسورد کاربر هش میشود و بعدا داخل شرط چک می شود که کاربر برای لاگین رمز رو درست وارد کرده یا خیر . شما می توانید از این تابع در وب سایت خود استفاده کنید .

مثالی از تابع crypt

در مثال بالا از تابع crypt به صورت تک پارامتری استفاده شده که خود تابع از salt رندوم استفاده میکند . داخل نسخه PHP 5.6 این قابلیت به این تابع اضافه شده که salf را به عنوان پارامتر دوم می توان داد .

همه مثال های بالا هش بود یعنی غیر قابل بازگشت اما می توان از تابع رمزنگاری هم استفاده کرد که قابل بازگشت هستند . ساده ترین تابع برای رمز نگاری تابع base64_encode هست که با تابع base64_decode قابل بازگشت هست . اما برای امنیت بالاتر بنده براتون یک کلاس آماده کردم که میتونید از اون برای رمزنگاری امن استفاده کنید و با کلید به عبارت اصلی برسید .

بهترین تابع برای رمزنگاری تابع mcrypt_decrypt هست که از الگوریتم MCRYPT_BLOWFISH در مثال بالا استفاده شده که ار بهترین الگوریتم های رمزنگاری است . این الگوریتم یک رشته را بر اساس کلیدی که به آن می دهیم رمز و بازیابی میکند .

در هر صورت استفاده از رمزنگاری یا هش به عهده خودتون هست اگر داده ها نیاز هست که بازیابی شوند از رمزنگاری استفاده کنید و اگر نیاز نیست از هش استفاده کنید .

امیدوارم از این مقاله استفاده کرده باشید .

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 6 دیدگاه برای این مطلب ارسال شده است.

  • ‏‏
    محمد(۹ دی ۱۳۹۳)

    میشه بیشتر توضیح بدید که چطور crypt از random salt استفاده میکنه ؟

  • ‏‏
    محمد عابدی(۹ دی ۱۳۹۳)

    مقاله جالبی بود ! 😀

  • ‏‏

    😎 مفید وجامع بود.ممنون.

  • ‏‏
    مرادیان(۲۷ دی ۱۳۹۴)

    احسنت استفاده کردیم

  • ارسال دیدگاه

    ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram