[英]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.