ایجاد یک پسوورد جدید(پسوورد تصادفی)
سلام به همه
من در برنامه ام یه صفحه ورود دارم که از کاربر یوزر و پسووردش را واسه ورود به برنامه می خواهد.حالا یکی از کاربران پسوورد خودش را تغییر داده و فراموش کرده.می خواهم به برنامه ام این امکان را اضافه کنم که اگر کاربری پسووردش را فراموش کرد یه کدی از صفحه ورود دریافت کنه و با یک تماس با پشتیبان برنامه و دادن اون کد بتونم یه پسوورد جدید به اون کاربرم بده تا وارد برنامه بشه و بتونه پسووردش را عوض کنه.
کسی می دونه چه جوری؟؟
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
دوست عزیز سوالتون واضح نیست
الگوریتم و روال کار مهمه که خودتون نوشتید , یه کد نویسی میخواد همین ... اگر با تولید پسورد مشکال دارید از کد ذیل استفاده کنید.
privateRandom rng = newRandom();
publicstring newPassword(int LengthPws)
{
char[] valid = { 'a','7', 'b', '2', 'n','3', 't','5','4','u','8','w','9' ,'s','6','y'};
StringBuilder sb = newStringBuilder("");
for (int i = 0; i < LengthPws; i++)
{
sb.Append(valid[rng.Next(valid.Length)]);
}
return sb.ToString();
}
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
سلام
دوست عزیز اتفاقا مشکل من الگوریتمش هست وگرنه با ایجاد پسوورد مشکلی ندارم.
در واقع من نمی دونم چه طور کدی را که از کاربرم گرفته ام راتبدیل به یک پسوورد مناسب برای برنامه ی کاربر بکنم.
میشه یکم هم در مورد کدی که فرستادید توضیح بدبد.ممنون میشم.
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
یعنی تا به حال هیچ کس همچون کاری نکرده؟؟
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
اين مشكل منم هست . دوستان اگه كسي بلده كمك كنه
1 ضمیمه
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
نمونه برنامه زیاد هست یه نگاه به این لینک بندازید.
به نظرم از hash استفاده کنی بهتره
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
دقیقا بهترین راه استفاده از هش کد هست,مثلا بعد از ایجاد یک عدد رندم که دارای طول مشخصی هست (این طول حتما باید مشخص باشه) باانجام یک الگوریتم دلخواه (بااستفاده از ارقام عدد رندم) روی عدد , یک پسوورد جدید به دست می یاد.حالا کافیه توی برنامه هم بایک تابع ساده اون الگوریتم روی عدد رندم انجام بشه وبرنامه نویس چک کنه که اگر پسوورد برابر مقدار بازگشتی اون تابع بود پسوورد پذیرفته می شه.
برای من خیلی جالب بود....
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
/// <summary>
/// gets a random string
/// </summary>
/// <param name="Length"></param>
/// <param name="IncludeSpecialCharacters"></param>
/// <param name="IncludeNumbers"></param>
/// <returns></returns>
public static string GetRandomString(int Length, bool IncludeSpecialCharacters, bool IncludeNumbers)
{
string returnval = "";
for (int i = 1; i <= Length; i++)
{
returnval += GetRandomChar(IncludeSpecialCharacters, IncludeNumbers).ToString();
}
return returnval;
}
/// <summary>
/// Gets a Random Character
/// </summary>
/// <param name="IncludeSpecialCharacters"></param>
/// <param name="IncludeNumbers"></param>
/// <returns></returns>
public static char GetRandomChar(bool IncludeSpecialCharacters, bool IncludeNumbers)
{
//33-47 , 58-64, 91-96, 123-126 special characters
//48-57 numbers
//65-90 uppercase letters
//97-122 lowercase letters
bool GetNewChar = true;
int randint = 0;
if (IncludeNumbers && IncludeSpecialCharacters)
{
randint = RandomGen.Next(33, 122);
}
else if (IncludeNumbers)
{
//get a number between 48 and 122 but not between 58 and 64
while (GetNewChar)
{
randint = RandomGen.Next(48, 122);
GetNewChar = (randint >= 58 && randint <= 64);
}
}
else if (IncludeSpecialCharacters)
{
while (GetNewChar)
{
randint = RandomGen.Next(33, 122);
GetNewChar = (randint >= 48 && randint <= 57);
}
}
else
{
while (GetNewChar)
{
randint = RandomGen.Next(65, 122);
GetNewChar = (randint >= 91 && randint <= 96);
}
}
return Convert.ToChar(char.ConvertFromUtf32(randint));
}
private static System.Random _RandomGen;
private static System.Random RandomGen
{
get
{
if (_RandomGen == null)
{
_RandomGen = new System.Random();
}
return _RandomGen;
}
}
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
میشه توضیح بدید چه اتفاقاتی توی کدتون می افته؟کدی که من نوشتم در مجموع با تابع و تغییرات اعمال شده 6-5 خط می شه اما کدی که شما گذاشتین بیش از حد گیج کننده است.
اگه لطف کنید و یکم در موردش توضیح بدی ممنون می شم
نقل قول: ایجاد یک پسوورد جدید(پسوورد تصادفی)
نمیدونم کدوم قسمتش پیچیده است .
فقط یه خورده کار بیشتری انجام میده .
پارامترها رو تک تک توضیح میدم :
Length : طول رشته پسود
IncludeSpecialCharacters : وجود کاراکترهای ویژه مثل <
IncludeNumbers: وجود کاراکتر های عددی در رشته خروجی