PDA

View Full Version : سوال: کلید در تابع hash_hmac



eminem.encore
جمعه 13 بهمن 1391, 15:39 عصر
با سلام ببخشید تو این تابع کلید رو خودمون هر چی بخواهیم تعریف می کنیم یا از قبل کلید های تعریف شده ای برای این کار در نظر گرفته شده است؟ اگر قرار است خودمان کلید را تعریف کنیم کلید را باید چطوری تعریف کنیم تا امنیت بیشتری داشته باشد؟ با تشکر از دوستان

eshpilen
جمعه 13 بهمن 1391, 15:55 عصر
کلید مال خودته.
البته انتخاب یا تولیدش باید بر اساس اصول علم رمزنگاری باشه.
مثلا برای استحکام رمزنگاری 128 بیتی، باید یک رشتهء رندوم باینری 128 بیتی باشه (یا یک رشتهء معادل با همین آنتروپی) که با یک تابع رندوم امن (نه این تابع های درپیتی که هرکسی مینویسه) تولید شده باشه.

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

eminem.encore
جمعه 13 بهمن 1391, 16:07 عصر
بله - برای هش پسورد میخوام استفاده کنم.


mysqli_real_escape_string ($dbc, hash_hmac('sha256',$password, 'c#haRl891', true));

eshpilen
شنبه 31 فروردین 1392, 18:11 عصر
hash_hmac برای کاربرد هش کردن پسورد ساخته نشده، اما بعضیا ازش برای این کاربرد استفاده میکنن.
از نظر فنی امنیتش خیلی هم بالا نیست.
برای هش کردن پسورد بنظر بنده استفاده از یک تابعی مثل این بهتره: http://www.hamidreza-mz.tk/?p=519