繁体   English   中英

在C#.net中打印唯一键

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM