PDA

View Full Version : ارسال ایمیل فراموشی کلمه عبور



masud8002k
جمعه 06 مرداد 1391, 16:15 عصر
سلام من میخوام کاربر وقتی کلمه عبور خودشو خواست بازیابی کنه و ایمیلش رو وارد کرد
من اول چک میکنم اگر ایمیل با نام کاربری سازگار بود
میام یک پسورد به صورت راندم درست میکنم(این قسمت رو نمیدونم چطوری درست کنم)
بعد پسورد جدید رو جایگزین پسورد قدیمی کاربر میکنم و به کاربر ارسال میکنم
مشکلم اون ایجاد پسورد راندوم رو اگر کسی یاد بده ممنون میشم

majesticsoft
جمعه 06 مرداد 1391, 17:00 عصر
string str = Session.SessionID;

نمیدونم منظورت چنین چیزیه؟

fakhravari
جمعه 06 مرداد 1391, 17:24 عصر
string str = Session.SessionID;

نمیدونم منظورت چنین چیزیه؟
نه جون خودش گفته Random
/// <summary>
/// تولید رشته به طول درخواستی به صورت رندوم از بین رشته ها داده شده
/// </summary>
/// <param name="Num">مقدار عددی</param>
public static string Character(int Num)
{
Random rand = new Random();
string mode = "qwertyuiop[]';lkjhgfdsazxcvbnm,./ZAQXSWCDEVFRBGTNHYMJU,KI.LO/;P'[]!@#$%^&*()_+=-0987654321`123546978/*-";
System.Text.StringBuilder str = new System.Text.StringBuilder();
for (int i = 0; i < Num; i++)
{
str.Append(mode.Substring(rand.Next(0, mode.Length), 1));
}
return str.ToString();
}

afg_javan
جمعه 06 مرداد 1391, 17:25 عصر
http://forums.asp.net/t/693032.aspx/1

masud8002k
جمعه 06 مرداد 1391, 18:40 عصر
ممنون از همه دوستان بویژع آقای fakhravariکه همیشه راهنمایی میکنن
من میخوام اعداد راندم فقط اعداد باشه به جای string modeباید اعداد 0 تا 9 باید بذارم؟؟؟؟
در ضمن اینو بخوام در یک رشته ذخیره کنم مثلا string ccباید چیکار کنم؟چون ایراد میگیره ازاسم Character استفاده میکنه

fakhravari
جمعه 06 مرداد 1391, 19:12 عصر
Random عدد
/// <summary>
/// رندم ععدی به تعداد درخواستی از مقدار درخواستی تا پایانی پیشفرص 0 تا 10 یعنی تا 9
/// </summary>
/// <param name="Num">تعداد رقم رندوم درخواستی</param>
/// <param name="MinNum">مقدار شروع</param>
/// <param name="MaxNum">مقدار پایانی</param>
public static string Number(int Num, int MinNum = 0, int MaxNum = 10)
{
string rand_num = "";
Random rand = new Random();
for (int i = 0; i < Num; i++)
{
rand_num += rand.Next(MinNum, MaxNum);
}
return rand_num;
}

masud8002k
جمعه 06 مرداد 1391, 19:27 عصر
ممنون فقط اینو به چه حالت میتونیم هر عدد راندم تولید شده رو در یک رشته ذخیره کرد؟؟؟و در جای دیگه استفاده کرد
مثلا من میخوام پسورد رو که به این صورت راندم تولید کرد در یک رشته ذخیره کنم و ارسال.... اما هر چی مینویسم ایراد میگیره
Label7.Text = Number();
Lable7.text=Number.tostring();

fakhravari
شنبه 07 مرداد 1391, 00:19 صبح
شما یه رشته تعریف کنید. public static string RundText = null;
بعد متد رندوم از کلاس فراخونی کنید.
برای مثال
این در یه کلاس به نام classrandom بزار.
public static string Number(int Num, int MinNum = 0, int MaxNum = 10)
{
string rand_num = "";
Random rand = new Random();
for (int i = 0; i < Num; i++)
{
rand_num += rand.Next(MinNum, MaxNum);
}
return rand_num;
}
تابع ارسال رمز
public void SendPassword(string Username)
{
RundText = classrandom.Number(6, 0, 10);
// password = RundText
// Mail send...> Username
}

TeacherMath
شنبه 07 مرداد 1391, 01:21 صبح
چرا از password recovery (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.passwordrecovery.aspx) استفاده نمی کنی