sokoti

قوی تر از md5 و sha می توان Bcrypt را نام برد

6 پست در این موضوع

یادگرفتن درباره md5 و sha1 و salt برای فهم آنچه که مورد نیاز ما برای ذخیره سازی امن هست خوب است. اما برای اجرای شدید امنیت باید از تکنیک Bcrypt در hashing استفاده کنیم.

ما باید از یک الگوریتم استفاده کنیم که حمله کننده خیلی سخت بتواند آن را رمزگشایی کند و به راحتی بتوان از آن در اپلیکیشن ها استفاده کرد. اگر از Bcrypt استفاده کنیم لازم نیست دیگر salt را ذخیره کنیم.

مثال:

function generateHash($password){
   if(defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH){
       $salt='$2y$11$' . substr(md5(uniqid(rand(),true)),0,22);
       return crypt($password,$salt);
   }
}

تابع بالا ابتدا ثابت CRYPT_BLOWFISH را چک میکند. اگر این قابلیت وجود داشت یک salt تولید میکنیم. Salt تولید شده باید با “$۲a$” یا “$۲y$” شروع شده باشد.

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

function verify($password,$hashedPassword){
   return crypt($password,$hashedPassword) == $hashedPassword;
}

استاد من در قسمت salt هم مشکل دارم میشه ذر مورد salt هم توضیح بدین؟؟

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

من در قسمت salt هم مشکل دارم میشه ذر مورد salt هم توضیح بدین؟؟ من در این قسمت مشکل دارم یکی کمکم کنه

اصلا این salt چی هست؟؟

Share this post


Link to post
Share on other sites

salt رو در اصطلاح نمک امنیتی هم میگن که یه مقدار تصادفی هست که برای امنیت بیشتر به پسوردها هنگام رمزنگاری افزوده میشه

Share this post


Link to post
Share on other sites

من یه نکته بگم

اینی که شما می گید امنیت بیشتر فراهم می کنه درسته اما در مباحث امنیتی همیشه باید بین کارایی ( سرعت، کاربر پسندی و ...) و سرویس های امنیتی به یک تعادل رسید. به طور کلی خدمات امنیتی به علت تحمیل یک سری قواعد در تضاد با کاربرپسند بودن برنامه ها هستند پس باید هنگام انتخاب یک خدمت امنیتی این تغادل را در نظر گرفت.

به نظر شما چرا هنوز هم بیشترین تابع رمز نگاری ( هش یکطرفه) همون md5 هست؟ چون سرعت و عملکرد بهتری داره

salt هم صابر جان کاملا درست گفت برای اینکه دامنه نگاشت وسیع تر بشه و امنیت کد هش شده بالاتر بره ازش استفاده میشه. ( معمولا یه عدد تصادفی را با عدد اصلی xor می کنه یا به آخرش اضافه می کنه یا ...)

Share this post


Link to post
Share on other sites
salt رو در اصطلاح نمک امنیتی هم میگن که یه مقدار تصادفی هست که برای امنیت بیشتر به پسوردها هنگام رمزنگاری افزوده میشه

ممنون:auizz3ffy9vla57584x

من یه نکته بگم

اینی که شما می گید امنیت بیشتر فراهم می کنه درسته اما در مباحث امنیتی همیشه باید بین کارایی ( سرعت، کاربر پسندی و ...) و سرویس های امنیتی به یک تعادل رسید. به طور کلی خدمات امنیتی به علت تحمیل یک سری قواعد در تضاد با کاربرپسند بودن برنامه ها هستند پس باید هنگام انتخاب یک خدمت امنیتی این تغادل را در نظر گرفت.

به نظر شما چرا هنوز هم بیشترین تابع رمز نگاری ( هش یکطرفه) همون md5 هست؟ چون سرعت و عملکرد بهتری داره

salt هم صابر جان کاملا درست گفت برای اینکه دامنه نگاشت وسیع تر بشه و امنیت کد هش شده بالاتر بره ازش استفاده میشه. ( معمولا یه عدد تصادفی را با عدد اصلی xor می کنه یا به آخرش اضافه می کنه یا ...)

و ااما در رابطه با این بحث باید بگم که ما همیشه سعی داریم راکد بمونمی وگرنه امنیتش بهتره و به زودی جای md5 رو میگیره

Share this post


Link to post
Share on other sites

ما منظورت چیه؟ یعنی ایرانی ها

شما یه سرچی بزن تو نت ببین توی فروم های امنیتی معتبر مثل infosec همین بحثی که من انجام دادم شده

من حرفم اینه که با توجه به محیطی که قراره توش ابزارهای امنیتی ست بشه انتخاب ابزرا هم فرق میکنه

مثلا جاهای حساس بله از تکنولوژی های سنگین تر ( مثل رمزنگاری پچیده) و جایی هم مثل جوملا با همین ساختار md5 میشه کار را حل کرد ( سرعت پاسخگویی اولویت داره )

ضمن این که شرط رسیدن به پسورد رسیدن به پایگاه داده ( نفوذ به هاست یا استفاده از باگ های xss) و اجرای کوئری های نسبتا سنگینه که خودش دنیاییه

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری