[英]Print Unique keys in C#.net
我正在嘗試使密鑰生成器生成大寫,小寫和數字鍵。 我下面的當前代碼使用隨機數生成重復密鑰。
如何更新它以生成唯一密鑰?
public static void printLowerCaseKeys()
{
string array = "";
int k = 0;
if (sDelimeterOption == "yes")
{
while (k < sKeyLength)
{
for (int i = 0; i < sDelimeterCharPosition; i++)
{
if (k >= sKeyLength)
break;
array = array + (char)r.Next(97, 123);
k++;
}
if (k < sKeyLength)
{
array = array + sDelimeterChar;
k++;
}
}
}
else
{
while (k < sKeyLength)
{
array = array + (char)r.Next(97, 123);
k++;
}
}
Console.WriteLine(array);
}
您可以使用GUID類!
每個GUID都是唯一的,即使在其他系統中也是如此。
System.GUID.NewGuid().ToString()
您可以存儲現有的生成密鑰,並檢查是否已生成新的生成密鑰。
取決於所需的密鑰長度,而不是使用隨機數(如果'r'指向隨機數),則可以將隨機數基於Guids(對於128位密鑰)或提供RNGCryptoServiceProvider類的內容。
指導很好,但是如果您想要更漂亮的外觀(即,在字符串的某些部分受約束),則除了需要用其他種子初始化隨機對象外,您還需要進行一些其他操作。 最好的方法是使用DateTime.Now的一部分(秒,毫秒或其他)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.