PDA

View Full Version : ارسال رمز عبور



Arezoo62
پنج شنبه 11 اسفند 1390, 12:01 عصر
دوستان سلام
می خواستم بدونم به چه شکل می تونم نام کاربری و ایمیل و از کاربر بگیرم و رمز عبورش و به ایمیلش ارسال کنم.
خواهش می کنم کمکم کنید چند روزه سر این موندم

alonemm
پنج شنبه 11 اسفند 1390, 12:13 عصر
باسلام:

نام کاربری رو از ورودی دریافت کنید و در صورت وجود داشتن و صحت آدرس ایمیل رمز عبور رو به آدرس ایمیل ارسال کنید.
همش در یک دستور Select از جدول کاربران از پایگاه داده میباشد.


موفق باشید.

Arezoo62
پنج شنبه 11 اسفند 1390, 12:16 عصر
خسته نباشید!
این جواب من نبود.

Peyman.Gh
پنج شنبه 11 اسفند 1390, 12:36 عصر
بستگی به الگوریتم رمز نگاری شما دارد. بطور مثال اگر کلمه عبور توسط الگوریتم هایی مانند SHA1 یا MD5 رمز نگاری شده باشند شما فقط به HASH آن دسترسی دارید و نمیدانید مقدار آن چه چیزی میباشد در این صورت یک مقدار جدید برای کلمه عبور در نظر میگیرید و به کاربر اعلام می کنید.
اگر رمز نگاری توسط خودتان و بطور مثال با استفاده از کلاس DESCryptoServiceProvider انجام شده باشد با یک Query رمز عبور را به پست الکترونیک کاربر ارسال کنید.

موفق باشید.

Arezoo62
پنج شنبه 11 اسفند 1390, 13:18 عصر
من رمز نگاری نکردم میشه توضیح بدید . سمپل بدید

sara_aryanfar
پنج شنبه 11 اسفند 1390, 13:25 عصر
رمز عبور که در پایگاه داده ذخیره میشه قابل بازگشت نیست البته نه به این راحتیا در هر حال شما اگر می خواهید پس از ثبت نام کاربر رمزش رو به ایمیلش بفرستید که این کار رو در همون مرحله پایان ثبت نام انجام بدین اما اگر می خواهید پس از ثبت نام و در مواردی که پسورد رو کاربر درخواست می کنه براش بفرستید مثل فراموشی کلمه عبور بهترین راه رست کردن پسورد هست

Peyman.Gh
پنج شنبه 11 اسفند 1390, 13:29 عصر
من رمز نگاری نکردم میشه توضیح بدید . سمپل بدید
پس رمز عبور را عیناً ذخیره میکنید؟


رمز عبور که در پایگاه داده ذخیره میشه قابل بازگشت نیست
به نوع رمز نگاری بستگی دارد.

fakhravari
پنج شنبه 11 اسفند 1390, 19:24 عصر
public static string Hashin_Md5(string Text)
{
try
{ return FormsAuthentication.HashPasswordForStoringInConfig File(Text, "MD5"); }
catch { return "Error MD5"; }
}

public static string Hashin_SHA1(string Text)
{
try
{ return FormsAuthentication.HashPasswordForStoringInConfig File(Text, "SHA1"); }
catch { return "Error SHA1"; }
}


public static string Hashin_MD5_X(string Text, int Num)
{
MD5 algorithm = MD5.Create();
byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(Text) );
string md5 = "";
for (int i = 0; i < data.Length; i++)
{
md5 += data[i].ToString("X" + Num).ToUpper(); //.ToLowerInvariant();
}
return md5;
}


public static string Text_TO_Base64(string Text)
{
byte[] Byte = System.Text.Encoding.UTF8.GetBytes(Text);
return Convert.ToBase64String(Byte);


}


public static string Undo_Text_Base64(string Text)
{
byte[] MyByte = Convert.FromBase64String(Text);
return System.Text.Encoding.UTF8.GetString(MyByte);
}

raziee
جمعه 12 اسفند 1390, 01:48 صبح
با سلام.
@Arezoo62 : لطفا برای پرسیدن سوال بیشتر وقت بگذارید.
قبل از ارسال پرسش جستجو کنید.
نمونه برنامه های متن باز رو ببینید و کمی مطالعه داشته باشید.


بستگی به الگوریتم رمز نگاری شما دارد. بطور مثال اگر کلمه عبور توسط الگوریتم هایی مانند SHA1 یا MD5 رمز نگاری شده باشند شما فقط به HASH آن دسترسی دارید و نمیدانید مقدار آن چه چیزی میباشد در این صورت یک مقدار جدید برای کلمه عبور در نظر میگیرید و به کاربر اعلام می کنید.
به نظر من اینکار صحیح نیست.
ممکنه فردی قصد شیطنت داشته باشه و درخواست Reset رمز عبور یک کاربر دیگه رو داشته باشه. این جا یا شما باید ازش سوالاتی رو بپرسید (که معمولا یا در وبسایت ها موقع ثبت نام چنین پرسش هایی رو نمیگیرند یا خود کاربر یادش نمیمونه :دی)
مثلا من نام کاربری و ایمیل شما رو میدونم ، به سایت درخواست میدم که رمز عبور رو Reset کنه؛ اگه این کار رو انجام بدیم اونوقت کاربر واقعی ناخواسته رمز عبورش تغییر پیدا کرده.
بهتر هست ابتدا لینک تائید فرستاده بشه (که پس از زمان خاصی منقضی بشه) ، بعدا Reset صورت بگیره.

رمز عبور که در پایگاه داده ذخیره میشه قابل بازگشت نیست البته نه به این راحتیا در هر حال شما اگر می خواهید پس از ثبت نام کاربر رمزش رو به ایمیلش بفرستید که این کار رو در همون مرحله پایان ثبت نام انجام بدین اما اگر می خواهید پس از ثبت نام و در مواردی که پسورد رو کاربر درخواست می کنه براش بفرستید مثل فراموشی کلمه عبور بهترین راه رست کردن پسورد هست
صحبت شما کامل نیست.
من اگر رمز عبور رو به صورت تمیز(بدون کد گذاری) و یا کد شده (نه Hash) ذخیره کنم امکان بازگشتش هست.
این تاپیک قفل شد.

Peyman.Gh
جمعه 12 اسفند 1390, 13:07 عصر
حسین جان با Security Question کاملاً موافقم اما سایت yahoo در قسمت reset password زمانی که درخواست داده میشود یکی از option های آن فرستادن کلمه عبور جدید به alternative e-mail address میباشد.