PDA

View Full Version : استفاده از چند روش برای هاش کردن پسورد



P0UY4_Fr
چهارشنبه 31 شهریور 1389, 17:21 عصر
با سلام
من می خوام با چند روش پسوردم رو هاش بکنم
مثلا برای هاش کردن اگر پسورد مثلا 1 باشه این طوری بشه

$pass = md5(md5('1'));
این طوری کدی که تولید میشه توسط ک.ر.اک.ر ها قابل تشخیص نیست ؟

اما در قسمت صفحه لوگین چه طوری باید فیلد پسورد رو بخونم ؟

و آیا میشه در همین حالت که دوبار md5 استفاده کردم یکبار هم از SHA1 استفاده کنم ؟


$pass = md5(md5(SHA1('1')));
فقط قسمت خوندن مشخصات فیلد پسورد از دیتابس اگر این کار رو بکنم چه طوری میشه ؟

البته ببخشید من خیلی مبتدی ام دقیقا خودم هم نمی دونم این کار شدنی هست یا نه و اصلا به ارتقا امنیت کمک می کنه
--------------------
برای مثال من پسورد زیر رو که همون عدد 1 است رو با به کار بردن دوبار md5 به کد زیر تبدیل کردم

8bccbd2eac39a2ade12bb7a412af37b8

و توسط سایت http://passcracking.com غیر قابل تشخیص می باشد

sama01
چهارشنبه 31 شهریور 1389, 17:30 عصر
مسلما این موارد، کار هکرها را دشوارتر می‌کنه. ولی استفاده از salt هم خیلی موثر است. حتما رشته‌ی اصلی خود را با یک رشته‌ی دیگر قاطی کنید تا این دشواری، چند برابر شود. زیاد در این مورد بحث شده.


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

P0UY4_Fr
پنج شنبه 01 مهر 1389, 12:31 عصر
منظورم این قسمته


"SELECT * FROM users WHERE username='{$_POST['username']}' AND password=md5('{$_POST['password']}')"

خوندن از دیتابس اگر دوبار از md5 و یکبار از SHA1 استفاده بشه

NR_Nazifi
پنج شنبه 01 مهر 1389, 12:56 عصر
سلام
ببینید شما به هر روشی که یک رشته را hash می کنید به همان شیوه باید بازیابی یا برگردان کنید
به عنوان مثال اگر ابتدا رشته ورودی را با md5 بعد sha1 کد کردین و در دیتا بیس ذخیره کردن هنگام لاگین هم به همین صورت عمل می کنید
دوباره رشته ورودی در هنگام لاگین را با md5 و بعد با sha1 کد کرده و با رشته موجود در دیتا بیس مقایسه می کنید. چرا که hashهای تولید شده توسط این توابع یک طرفه بوده و قابل بازیابی نیستند بنابراین تنها راه اینه که رشته دریافتی را کد و با رشته ذخیره شده مقایسه کنید

اگر منظورتون رو خوب نفهمیدم لطفا بگید (البته با توضیح بیشتر)!