آموزش حرفه ای php

آموزش کامل و حرفه ای php به زبان فارسی

آموزش حرفه ای php

آموزش کامل و حرفه ای php به زبان فارسی

تفاوت Hashing و Encryption چیست ؟

با سلام

مقاله امروز درباره تعریف هر یک از  اصطلاحات Hashing و Encryption است و مشخص می کنیم این دو چه تفاوت هایی باهم دارند . حتما این اصطلاحات را در زبان هایی مانند php و حتی فریم ورک هایی مانند لاراول شنیده اید .

Hashing یا درهم سازی چیست ؟

فرآیند Hashing یا درهم سازی به تبدیل کردن یک رشته داده به یک مقدار یا رشته با اندازه ثابت که این رشته یا مقدار خروجی نمایانگر رشته اصلی باشد گفته می شود. تصور کنید که شما یک فایل متنی با 10 هزار خط متن را به یک الگوریتم درهم سازی یا Hashing می سپارید و خروجی آن یک رشته داده 128 بیتی خواهد بود ، در همین حین اگر شما یک فایل متنی با 1 خط متن هم به همین الگوریتم درهم سازی یا Hashing تحویل دهید در نهایت خروجی شما نیز یک رشته داده 128 بیتی خواهد بود. تصور کنید شما هزاران فایل داده دارید با حجم های مختلف که می خواهید در آنها جستجو کنید ، به جای اینکه به دنبال فایل اصلی بگردید کافیست که فقط به دنبال مقدار Hash مورد نظر بگردید و این فرآیند جستجوی شما را در پایگاه های داده بسیار سریع می کند. یکی از پر کاربردترین استفاده های یک تابع درهم سازی یا Hashing Function در پایگاه داده های وب سایت ها یا حتی سیستم خود شما برای نگهداری رمزهای عبور است. تمامی رمزهای عبوری که در پایگاه داده یک وب سایت ذخیره می شوند به حالت Hash شده نگهداری می شوند ، این یعنی اینکه اگر رمز عبور شما 1 کاراکتر باشد و یا اینکه 100 کاراکتر باشد در نهایت بصورت مثلا یک رشته داده 128 بیتی در پایگاه داده بصورت درهم سازی شده نگهداری می شود. هر بار که شما می خواهید به وب سایت وارد شوید ، رمز عبور شما دریافت می شود و تبدیل به مقدار یا Hash Value می شود و با پایگاه داده مورد نظر مقایسه می شود ، اگر مقادیر برابر بود یعنی رمز شما درست است ، دیگر فرقی نمی کند رمز شما یک کاراکتر باشد یا ده ها کاراکتر در نهایت سرعت جستجو در چنین حالتی بسیار بالا خواهد رفت.

تفاوت Hashing و Encryption  چیست ؟

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.