2014年11月12日 星期三

[C#]亂數產生密碼

        /// <summary>以亂數生成新密碼</summary>
        /// <returns>回傳認證碼</returns>
        public string CreateNewPassword() {
            // 使用 RNGCryptoServiceProvider 產生由密碼編譯服務供應者 (CSP) 提供的亂數產生器
            RNGCryptoServiceProvider RNGPService = new RNGCryptoServiceProvider();
            // 用來存放隨機序列值
            byte[] RandomByte = new byte[4];
            // 用來存放隨機亂數值
            char[] Chars =       "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
            // 用來存放生成的亂數密碼
            StringBuilder Str = new StringBuilder();
            // 初始密碼長度
            int PasswordLength = 10;
            // 用來存放位元陣列轉換後的結果
            int Value = 0;
            // 開始生成密碼
            for (int Index = 0; Index < PasswordLength; Index++) {
                // 取得隨機編譯的亂數值
                RNGPService.GetBytes(RandomByte);
                // 用來存放位元陣列轉換後的結果
                Value = BitConverter.ToInt32(RandomByte, 0);
                // 產生一個非負數且最大值為隨機亂數值長度以下的亂數
                Value = Value % (Chars.Length - 1 + 1);
                if (Value < 0) Value = -Value;
                // 印出亂數
                Str.Append(Chars[Value]);
            }

            return Str.ToString();
        }

沒有留言:

張貼留言

[Laravel]環境架設,使用docker + laradock

1.選擇使用docker + laradock在windows10的環境使用 先至 docker官方網站 下載 docker for windows   2.依照執行程式下載安裝 這邊我的電腦有遇到一些問題順便記錄下來, 在下載啟動docker時發生錯誤   Hardw...