رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رمزنگاری بسیار مناسب برای استفاده در ساخت یک اسکریپت استاندارد
#1
میخوام اسکریپتی که میسازم از نظر امنیت در حد استاندارد باشه .
برای رمز نگاری پسورد ها و یا اطلاعات دیگه یک اسکریپت , بهترین روش موجود چیه؟
از md5 اینطور که معلومه دیگه استفاده نمیکنن

تو سرچ های مختلف روش های مختلفی رو دیدم :

+ مثلا یکی میگفت با استفاده از تابع crypt یک هش تصادفی ( برای هر کاربر ) استفاده کنیم و هش هر کاربر رو تو دیتابیس ثبت کنیم تا برای بازیابی اونو موقع ورود کاربر ازش بشه استفاده کرد و پسورد رو برگردوند.

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

+ یکی دیگه میگفت بیایم از تابع crypt استفاده کنیم ولی با این تفاوت که هش , ثابت باشه و خودمون تولید کنیم .

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

از روش pdo برای اتصال پایگاه داده استفاده میکنم .

تشکر از راهنماییتون
پاسخ
تشکر شده توسط:
#2
(02-02-1395، 12:27 ب.ظ)?php? نوشته: + یکی دیگه میگفت از همون تابع crypt استفاده کنیم ولی تو دیتابیس ثبت نکنیم چون خطر داره و درواقع با ثبت کردن هش تو دیتابیس دیگر فرقی با تابع md5 نمیکنه چون هکر که به دیتابیس دسترسی پیدا کنه هش هارو تبدیل میکنه .

اول اینکه تو دیتابیس ذخیره نکنیم کجا ذخیره کنیم؟؟؟
بعدش هکری که به دیتابیس دسترسی پیدا کنه که نباید بتونه حالا که تونست
ما واسه همین پسورد هارو هش میکنیم که غیر قابل برگشت هست...


بهتره یکی از این پکیج ها استفاده کنید و یا الگو بگیرید

https://github.com/cartalyst/sentinel
https://cartalyst.com/manual/sentinel/2.0#bcrypt-hasher


https://github.com/panique/huge
https://github.com/panique/huge/wiki/Whi...e-used-%3F

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: Eshpilen , ?php?
#3
این واسه هش پسورد: http://hamidreza-mz.tk/?p=1091

واسه رمزگذاری برگشت پذیر هم این: http://hamidreza-mz.tk/?p=566
پاسخ
تشکر شده توسط: ?php?
#4
دارم از sha512 , sha256 استفاده میکنم برای رمزنگاری .
ال ان میخوام بین crypt و sha512 و sha256 ببینم کدومش الگوریتم امن تریه . شنیدم sha1 داره از بین میره و بلای md5 سرش میاد و مجموعه( sha2 ( sha256 ,sha512 sha384 ,sha224 بهترین انتخاب هستن .

همچنین در مورد bcrypt هم تحقیق کردم و گویا الگوریتم بسیار مناسبیه . ولی در مورد کن بودنش مقالاتی هم خوندم .

به این نتیجه رسیدم که از sha512 یا sha256 استفاده کنم برای رمز نگاری .

نظرتون چیه ؟ آایا الگوریتم های امنی هستن این دوتا ؟
برای استفاده از sha512 این سایت رو خوندم و از تابع زیر استفاده کردم و جواب هم داد .
http://www.sha2-generator.info/en/php-sha2
http://php.net/manual/en/function.hash-algos.php

echo hash('sha512', 'Hello World');
پاسخ
تشکر شده توسط:
#5
کندبودن bcrypt عمدی هست و بخاطر جلوگیری از حملات Bruteforce عمداً کند شده. این موضوع برای کاربران عادی مشکل خاصی ایجاد نمیکنه چون معمولاً یکبار لاگین میکنن و بعد تا وقتی مرورگر رو نبستن یا از سایت خارج نشدن، دیگه با رمزنگاری مربوطه کاری ندارن. درمورد رمزنگاری خیلی از سایتها متأسفانه زیادی داره سختگیری میشه. شما همون md5 رو هم اگه با salt و pepper و رمزنگاری چندباره قدرتمند کنید (و یا با sha1 ترکیب کنید) میتونه کافی باشه.
پاسخ
تشکر شده توسط: ?php?




کاربران در حال بازدید این موضوع: 1 مهمان