PDA

View Full Version : کد کردن رشته و دکد کردن



tc1000
جمعه 11 خرداد 1386, 05:36 صبح
من برای کاربرانی که در سایت ثبت نام میکنند یک یوزر و یک پسورد گذاشتم.
حالا میخوام پسورد این کاربران رو کد کنم و در دیتا بیس بگذرام. ( تا انجا با MD5 که Hash میکنه مشکلی ندارم و خیلی راحت این کار رو انجام میدم.
حالا میخوام توی قسمت کنترل پانل admin جایی که مشخصات یوزر رو میارم بتونم پسورد رو ببینم ( در این قسمت md5 قابل برگشت نیست )
از استاتید محترم خواهشمند است در این موضوع به بنده کمک کنند.
با تشکر

Behrouz_Rad
جمعه 11 خرداد 1386, 10:11 صبح
از الگوریتمی استفاده کن که برگشت پذیر باشه!
الگوریتم هایی که از کلیدهای عمومی و خصوصی استفاده می کنند مناسب این کار هستند.
البته اگر از SQL Server 2005 استفاده می کنی، قابلیت های جدید کد کردن داده ها به شکل متقارن و نامتقارن می تونن کمکت کنند.

موفق باشید.

babi_wd
جمعه 11 خرداد 1386, 18:14 عصر
اگر به یاهو یا گوگل دقت کرده باشید به شما اجازه دیدن پسورد رو نمیدن
فقط میتونین پسورد رو ریست کنید
از نظر امنیتی هم این روش توصیه میشه

tc1000
جمعه 11 خرداد 1386, 18:23 عصر
بله درسته
ولی برای یک برنامه ا ک من درم می نویسم یوزر زنگ میزنه میگه من پسورد رو درست میزنم ولی وارد سایت نمی شم. اینجاست که نیازه پسورد رو داشته باشم.
البته یه راهی هست که بشه پس ورد رو چک کرد ولی اگر ببینشم بهتره

CodeMasterX
جمعه 11 خرداد 1386, 18:33 عصر
به نظر من هم اگه پسورد ها قابل دیدن نباشن بهتره.
اگر از SQLServer2005 استفاده می کنید هم که آقای راد جواب رو دادن.
از الگوریتم های شخصی که بگذریم خود کلاس های دات نت (Cryptography) توابع بدی برای رمزنگاری قابل برگشت ندارن.میتونید از اون ها استفاده کنید.

tc1000
جمعه 11 خرداد 1386, 21:40 عصر
خیر از 200 استفاده می کنم

bahman_eng
شنبه 13 مرداد 1386, 00:05 صبح
می تونی یک کلاس تولید پسورد درست کنی و هنگامی که کاربری که درخواست پسورد جدید میکنه یک پسورد جدید براش بسازی و این پسورد را بجای پسورد خودش بذاری و این پسورد جدید رو هم برای کاربر ایمیل کنی. اگه منظورت رو درست فهمیده باشم ، این روش خوبی میتونه باشه

tc1000
شنبه 13 مرداد 1386, 13:54 عصر
می تونی یک کلاس تولید پسورد درست کنی و هنگامی که کاربری که درخواست پسورد جدید میکنه یک پسورد جدید براش بسازی و این پسورد را بجای پسورد خودش بذاری و این پسورد جدید رو هم برای کاربر ایمیل کنی. اگه منظورت رو درست فهمیده باشم ، این روش خوبی میتونه باشه


منظور من این نبود سئوال رو دقیقا بخونید بسیا رواضع هستش

maxpayn2
یک شنبه 14 مرداد 1386, 10:01 صبح
سلام
ببخشید اینجوری میگم ها ، اگه کسی زنگ زد گفت پسوورد رو درست میزنم ولی وارد نمیشه ، یا خدای نکرده داره دروغ میگه یا اشتباه میزنه یا برنامه شما مشکل داره و دیگه نیازی به دیدن پسوورد نیست ، تازه شما باید سایت رو جوری درست کنی که دیگه کاربر نیاز به زنگ زدن به شما رو نداشته باشه . به نظر من بهترین روش اینه که وقتی کاربر رجیستر میکنه پسووردشو با md5 یا sha1 کد کنی و کد رو در دیتا بیس قرار بدی ، هر وقت کاربر میخواد لاگ این بکنه پسووردی رو که وارد میکنه به همون روش قبلی کد کنی و با کد داخل دیتا بیس مقایسه کنی ، هر وقت هم پسووردش یادش رفت باید یه صفحه داشته باشی که با گرفتن مشخصات کاربر یک پسوورد رندوم براش بسازی و به آدرس ایمیلی که موقع رجیستر کردن داده بفرستی و کد شده ی پسوورد جدید رو در دیتا بیس قرار بدی .
موفق باشی

tc1000
یک شنبه 14 مرداد 1386, 12:19 عصر
حرف شما کاملا منطقی و درست هستش ولی در برنامهای که در حال حاضر وجود دارد اینه که یک سری کارت هستش که وقتی به طور مثال وثتی روکش کارت رو برمدارند بعضی از مواقع مقدار از اعداد یا حروف پسورد کنده میشه زنگ میززند میگن ما 3 تا از اعداد یا حروف پسورد رو نداریم.
و اینجاست که زنگ میزنند میگن ما اون دو حرف پسورد رو میخوایم اینو چکارش کنیم نه ایمیلی اینو چکارش کنیم دوست عزیز

maxpayn2
یک شنبه 14 مرداد 1386, 18:05 عصر
ببین دوست عزیز ، این مورد بر میگرده به سخت افزار ( کارت ) شما ، چون شما از هر روش دیگری غیر از کد کردن پسورد ها استفاده کنی ریسک بالایی داره حتی از روش هایی که قابل برگشت هستش چون بلاخره ممکن هست یه نفر به کد ها دسترسی پیدا کنه و دکد کنه ، مثال سادش اینه که ادمینی که به دیتا بیس دسترسی داره میتونه پسورد ها رو در بیاره ، البته ببخشید که فضولی میکنم ها ولی به نظر من شما باید نوع کارت هاتون رو عوض کنید
موفق باشید

tc1000
دوشنبه 15 مرداد 1386, 18:00 عصر
عوض کردن طریقه پسورد ها امکان پذیر نیست چون این مشکل همیشه بین 100 نفربرای 30 نفر پیش میاد یعنی 30% این مشکل رو دارند یک الگوریتم اگر بشه درست کرد که این پسورد برنرگرده خوبه

tc1000
دوشنبه 15 مرداد 1386, 18:02 عصر
منظور کلی اینه که از الگورتیم های استاندارد استفاده نشه و طرف خودش یک الگوریتم درست کنه به نظر شما این چطوره؟

MH2538
سه شنبه 16 مرداد 1386, 07:47 صبح
سلام
می دونم این راه عجیبه ولی با خواسته شما فکر کنم فقظ این روش بتونه مشکلتون رو حل کنه.
شما به جدول پسوردهات که با MD5 هم اونها رو کد می کنی کاری نداشته باش.
در عوض یک جدول جداگانه درست کن که برنامه به اون دسترسی نداشته باشه و فقط ادمین های سیستم و با یک برنامه جدا اون رو ببینن. حالا پسوردی رو که تولید کردی قبل از اینکه کد کنی و توی جدول اصلی بریزی رو تو این جدول که خدمتتون عرض کردم بریز برای یه همچین مواقعی که خودت گفتی.

maxpayn2
سه شنبه 16 مرداد 1386, 09:02 صبح
سلام
با عرض خسته نباشید به آقای MH2538 باید خدمتشون عرض کنم این که نشد راه حل ، خوب این جدول رو ادمین هاست ( که دیتا بیس روش نسبه ) بهش دسترسی داره و اگه خدایی نکرده بخواد شیطنت کنه اون موقع میتونه تمام پسورد ها رو داشته باشه

MH2538
سه شنبه 16 مرداد 1386, 09:06 صبح
سلام
دوست عزیز maxpayn2
ادمین سایت به همه چیز دسترسی داره
اگر اینطور که شما می فرمائید بخواهیم فکر کنیم میشه اینطور هم فکر کرد که ادمین قابلیت ریست کردن همه پسوردهارو داره.
ضمن اینکه معمولا همین ادمینه که پسوردها رو تنظیم می کنه و یا پسورهای فراموش شده رو وقتی شما زنگ می زنین بهتون اطلاع می ده.
توی همچین کارهایی یه چیزی وجود داره به اسم مسئولیت !
مسئول سایت به همه چیز اون دسترسی داره.

maxpayn2
سه شنبه 16 مرداد 1386, 11:22 صبح
درست میفرمایید ، ولی اولا مسئولیت رو شما میفهمید نه همه ، دوم ادمین هم آدمه دیگه ، از آدم هم همه چی بر میادا ، سوما شما باید تا جایی که میشه ریسک رو پایین بیارید ، ولی در مواقعی که کاره دیگه ای نمیتونید انجام بدبد حق با شماست چو شما مجبور به این کار بودید ، ولی در مرد سوال این تاپیک هنوز مجبور به ذخیره عین پسورد ها نشدیم
مشکرم که بحث رو پیگیری میکنید