簡體   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