我必須在 C# 中為臨時進入/登錄目的生成隨機密碼。現在我只需要發送 6 位數字,但不再需要任何字符或特殊字符。C# 世界的新手。因此,我提供了我目前所擁有的。
助手.cs
public static string GenerateRandomPassword()
{
int numsLength = 6;
const string nums = "0123456789";
StringBuilder sb = new StringBuilder();
Random rnd = new Random();
for (int i = 0; i < charLength; i )
{
int index = rnd.Next(chars.Length);
sb.Append(chars[index]);
}
int numindex = rnd.Next(nums.Length);
sb.Append(nums[numindex]);
return sb.ToString();
}
我認為我的邏輯仍然不正確。我知道我不應該使用 String Builder,因為我只想發送數字。任何人都可以通過編輯上述代碼來幫助我并找出我的錯誤嗎?
uj5u.com熱心網友回復:
嘗試直接生成亂數并將它們轉換為字串,而不是從現有字串中選擇隨機字符,這將簡化您的代碼
Random rnd = new Random();
public static string GenerateRandomPassword()
{
int numsLength = 6;
string sixDigitString = "";
for (int i = 0; i < charLength; i )
{
//this takes the existing string and adds a random number to it. Do this as many times as you need to
sixDigitString = rnd.Next(0,9).ToString();
}
return sixDigitString;
}
uj5u.com熱心網友回復:
您也可以只連接字串并執行以下操作:
public static string GenerateRandomPassword()
{
int numsLength = 6;
const string nums = "0123456789";
string tempPass = string.Empty;
Random rnd = new Random();
for (int i = 1; i <= numsLength; i )
{
int index = rnd.Next(nums.Length);
tempPass = nums[index];
}
return tempPass;
}
uj5u.com熱心網友回復:
Random rnd = new Random();
String passSixDigit = rnd.Next(0, 999999).ToString("000000");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/531359.html
標籤:C#验证忘记密码
上一篇:一個驗證規則中的多個輸入
