رمزنگاری اطلاعات و پسورد در PHP

رمزنگاری اطلاعات و پسورد در PHP

رمزنگاری اطلاعات و پسورد در PHP – رمزنکاری اطلاعات یکی از مهم ترین راهکار ها برای افزایش امنیت اطلاعات محسوب می شود به طوری که

حتی در صورت هک شدن وبسایت از طریق باگ هایی مثل SQLi امکان پیدا کردن رمز اصلی admin وجود نخواهد داشت .

البته باید در نظر داشت که رمزنگاری اطلاعات خود یک مفهوم گسترده ای است و باید برای استفاده از حداکثر کارایی آن ، استاندارد ها رعایت شود تا نتیجه مطلوب دریافت شود .

الگوریتم های رمزنگاری یک طرفه

دراین نوع الگوریتم ها به عنوان مثال ورودی مثل : rapidcode1234 را وارد کرده و خروجی هش شده ی آن را دریافت می کنید ، امکان بازگردانی هش به ورودی اول وجود نخواهد داشت .

الگوریتم های یک طرفه زیادی وجود دارد که sha1 و md5 پرکابرد ترین آن ها هستند . اما با این شرایط همچنان امکان پیدا کردن ورودی اولیه وجود دارد که با حمله brute force امکان پذیر است ( البته باید از ابر رایانه ها ) استفاده کرد و نمی توان زمان دقیقی برای رمزگشایی آن در نظر گرفت .

الگوریتم های رمزنگاری یک طرفه پویا

در PHP تابعی وجود دارد به نام password_hash مزیت خیلی جالبی که این تابعی دارد قابلیت تغییر هش آن در ثانیه است یعنی hash که الان ساخته شده با 1 ثانیه بعد فرق دارد .

این در حالی است که هر دو معتبر هستند .


به دلیل استفاده از salt ( اطلاعات تصادفی ) که به رشته اضافه می شوند و باعث امنیت اطلاعات می شود .

این نوع رمزنگاری نسبت به md5 و موارد مشابه از امنیت بالاتری برخوردار است .

الگوریتم های رمزنگاری یک طرفه به همراه secret key ( کلید مخفی )

اگر رشته rapidcode_1234 را با تابع hash و الگوریتم md5 هش کنیم خروجی :

0cd7cb8bcc4d078eb09d0220d4076c7c

را دریافت می کنیم .

اگر کسی بخواهد حمله brute force بر روی سیستم شخصی خود انجام دهد احتمال پیدا کردن رمز عبور بالا است

با secret key ( کلید مخفی ) امکان پیدا کردن رمز عبور پایین می آید . با استفاده از تابع hash_hmac می توانیم اطلاعات هش شده را با secret key که در نظر گرفتیم ادغام کرده و خروجی نهایی متفاوت برگردانیم .

9e59ecf6f17d24aebf902efddd3c27b2

دقت داشته باشید که secret key هرگز نباید در اختیار کاربران قرار گیرد .


این مقاله درباره رمزنگاری اطلاعات و پسورد در PHP بود و در آینده بروزرسانی خواهد شد .

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us