ورود

View Full Version : چه جوری password کاربر را hash کنم؟



بیتافرهی
سه شنبه 04 فروردین 1388, 11:37 صبح
سلام دوستان
من می خوام یه فرم درست کنم ،مثل همین فرم های ثبت نام برای سایتا(تحت وب است)،و می خوام وقتی کاربر رمز عبورشو وارد کرد ،این رمز hash بشه بعد در دیتابیس ذخیره بشه.ولی نمی دونم این کارو چه جوری انجام بدم.در حال حاضر من فرممو طوری درست کردم که هر چی که کاربر وارد می کنه دقیقا وارد بانک میشه.
ضمنا برای من یه سوالی پیش اومده و اونم اینه که وقتی کاربر می خواد با user , password اش وارد شود،اگر من اون passwordesho هش کرده باشم ،چه جوری اینا بازیابی میشن؟
اگه کسی برنامه ای در این رابطه داره لطفا مثالشو بذاره.

mamizadeh
سه شنبه 04 فروردین 1388, 16:28 عصر
با سلام
دوست عزیز من روش هش کردن رو با الگوریتم md5 می دم خودت تو برنامت کلمه عبور و یا هر چیز دیگری رو هش کن

Saber_Fatholahi
سه شنبه 04 فروردین 1388, 16:32 عصر
دوست من روش های هش جوریه که یک طرفه است یعنی قابل بازیابی نیست شما زمانی که کلمه عبور از کاربر میگیری هش میکنی و توی بانکت ذخیره میکنی در زمان لاگین کاربر نیز کلمه وارد شده از همان الگوریتم هش عبور میدی در صورتی که با هم یکی بود مجوز دسترسی صادر میکنی
موفق باشی

بیتافرهی
سه شنبه 04 فروردین 1388, 17:49 عصر
در زمان لاگین کاربر نیز کلمه وارد شده از همان الگوریتم هش عبور میدی
منظورتونو متوجه نمیشم.یعنی کاربر موقع login باید با همان password اولیه که خودش موقع ثبت نام واردش کرده،دوباره باید همان را بدهد یا
باید password هش شده را به کاربر بدهم؟

Saber_Fatholahi
چهارشنبه 05 فروردین 1388, 02:03 صبح
ببین دوست عزیز در واقع شما یه تابع مینویسی که کلمه عبور کد کنه یعنی موقع ثبت نام کلمه عبور از الگوریتم رد میشه و کد شده ذخیره میشه حالا زمانی که کاربر میخواد وارد شه با کلمه عبور اصلی وارد میشه اما توی برنامه شما باید این کلمه عبور از همون الگوریتم اولی رد بشه در صورتی که با کلمه ذخیره شده مساوی بود یعنی کلمه عبور درسته
منظورم واضحه
موفق باشی

KavoshGar_ir
چهارشنبه 05 فروردین 1388, 09:18 صبح
md5 آنچنان امن نیست! کرکرهای md5 در محافل هکرها مدتیه در دسترس قرار گرفته!


http://milw0rm.com/cracker/insert.php

mamizadeh
چهارشنبه 05 فروردین 1388, 12:10 عصر
md5 آنچنان امن نیست! کرکرهای md5 در محافل هکرها مدتیه در دسترس قرار گرفته!


http://milw0rm.com/cracker/insert.php

پس چه باید کرد نظر دوستان در مورد روشی امن برای کد و دی کد کردن نام کاربری و کلمه عبور چیه

eAmin
چهارشنبه 05 فروردین 1388, 18:24 عصر
پس چه باید کرد نظر دوستان در مورد روشی امن برای کد و دی کد کردن نام کاربری و کلمه عبور چیه
سلام.

برای امنیت بیشتر می تونید این عمل رو چندبار انجام بدید.

KavoshGar_ir
شنبه 08 فروردین 1388, 08:44 صبح
پس چه باید کرد نظر دوستان در مورد روشی امن برای کد و دی کد کردن نام کاربری و کلمه عبور چیه
دات نت کلاسهای امنیتی نسبتا زیاد و مناسب دیگری هم داره!
کلاسهای encryption به سه لایه تقسیم می شود :


AsymmetricAlgorithm
SymmetricAlgorithm
HashAlgorithm

Symmetric Algorithms Supported by .NET
Abstract Maximum / Algorithm Default Implementation/ Valid Key Size/ Key Size
-------------------------------------------------------------------------------------------
DES DES DESCryptoServiceProvider 64 64
TripleDES TripleDES TripleDESCryptoServiceProvider 128, 192 192
RC2 RC2 RC2CryptServiceProvider 40–128 128
Rijndael Rijndael RijndaelManaged 128, 192, 256 256
The strength


Asymmetric Algorithms Supported by .NET
Abstract Maximum /Algorithm Default Implementation /Valid Key Size/ Key Size
-------------------------------------------------------------------------------------------
RSA RSA RSACryptoServiceProvider 384-16384 (8 bit increments) 1024
DSA DSA DSACryptoServiceProvider 512-1024 (64 bit increments) 1024

HashAlgorithm
شامل Md5 - SHA1 - SHA256 - SHA384 - SHA512 , ..

اینها سرنخ بود برای ادامه مطلب , در آینده نزدیک اگر نیاز دوستان بر تفصیل این مطلب بود یک مقاله به همراه سمپل هاش ارائه میدم.(هر چند من اینجا بدلیل استادانی که وجود داره با ترس و لرز جواب میدم:اشتباه:)

mithridates
شنبه 08 فروردین 1388, 14:21 عصر
چقدر فکر میکنید رو این کار. راه کار ساده هست. شما از هر راهی دوست داری Hash کن ولی یه کاری انجام بدی دیگه همه این ها میپیچه

کافیه اول پسورد یه جمله از خودت اضافی کنی. اینطوری milw0rm باید 10 سال بگرده تا پسوردت پیدا شه

راه حل:

برای مثال پسورد هست mehrdad خوب وقع ثبت نام و در قسمت لاگین برای چک پسورد این کار رو انجام بده welcome_to_my_website:D:X+mehrdad (welcome_to_my_website@+mehrdad)

هربار کاربر تایپ کنه mehrdad موقع لاگین این جمله اضافه میشه بعد چک میشه

لظفا نگین هکر علاوه به دسترسی به database درسترسی به فایل هاتونم داره !!!!

اگه داشت تو .net این امکان هست که شما database رو با کد ماشین که مخصوص سایت شما هست کد کنه که میتونین از این امکان استفاده کنید که البته اگه دسترسی write هم هکر داشته باشه دیگه جدان کار سایتتون تمومه. (رو سرور های بزرگ و معروف هم همچین باگهایی دیده شده)

m.hamidreza
شنبه 08 فروردین 1388, 21:53 عصر
MD5 یه الگوریتم 128 بیتی هست و در نوع خودش خوبه و مسلما پاسخگوی نیاز دوستمون در پست 1 هست. اگه امنیت بالاتری نیاز داری از SHA1 که 160 بیتی هست میتونی استفاده کنی. الگوریتم SHA2 بیشتر از 160 بیت هست که شامل SHA224/256/384/512 هست.
در کل SHA1 الگوریتم قابل اطمینان و مناسبی هست.
موفق باشید.

Mahdi.Kiani
یک شنبه 09 فروردین 1388, 01:15 صبح
پس چه باید کرد نظر دوستان در مورد روشی امن برای کد و دی کد کردن نام کاربری و کلمه عبور چیه
چه نیازی است که پسورد ها کد و دی کد شوند؟کسی نباید از پسورد کاربران اطلاع داشته باشه حتی ادمین سایت! به همین جهت استفاده از الگوریتم های هش چون باز گرداندن ان ها تقریبا غیر ممکن است فعلا راه مناسبیه، استفاده از مقادیر salt نیز می تونه به امنیت بیشتر کمک کنه./
موفق باشید./

golihaghighi
پنج شنبه 24 اردیبهشت 1388, 09:52 صبح
MD5 در کل SHA1 الگوریتم قابل اطمینان و مناسبی هست.
موفق باشید.
الگرریتم sha1 دارای collusion هست و برای نرم افزارهای مهم و یا پر کاربر بهتره استفاده نشه

new_sra
پنج شنبه 24 اردیبهشت 1388, 19:26 عصر
با اين برنامه هم كار كنيد بد نيست



SAMInside

rasep1983
دوشنبه 18 خرداد 1388, 02:06 صبح
برنامه های md5 و md4 و sha-1 و محاسبگر هاشون زیاده توی اینترنت بگردی پیدا میکنی

ببین مثلا pass باشه 123 وقتی به تابع md5 بدی بهت میده 202cb962ac59075b964b07152d234b70
حالا اینو توی دیتا بیس ذخیره میکنی
کاربر که بخواد وارد بشه پسورد رو که 123 هستش وارد میکنه با تابع md5 تبدیل به 202cb962ac59075b964b07152d234b70 بعد این کد باید مقایسه بشه با اونی که توی دیتابیست داری چون برابرند تاییدیه میگیره در غیر اینصورت رد میشه

ازین ساده تر نمیشد گفت :لبخند:

این که گفتن دوبار استفاده کنی از یه تابع راه خوبیه :متفکر: ولی بهترش اینه که ترکیب بشه دوتا تابع مختلف
موفق باشی

rasep1983
دوشنبه 18 خرداد 1388, 02:07 صبح
اینم یکی از محاسبگر های md5 :

http://md5crack.com/crackmd5.php