ホームページ >バックエンド開発 >C#.Net チュートリアル >数字と文字を含み、暗号化アルゴリズムで暗号化する必要があるランダム パスワードを生成する C# バッチのコード例の詳細な紹介。
この記事では主に C# バッチ生成されたランダム パスワードには数字と文字が含まれており、暗号化アルゴリズムで暗号化されている必要があることを参照してください。
アイデア:1. 数字と文字をリストします。 string
: chars で構成されます。 2. randrom.Next(int i) を使用して、指定された最大値より小さい非負の乱数を返します。3. chars の長さ以上の乱数 a をランダムに選択し、文字列 chars の a 番目の文字を選択します。 4. ループ
を 8 回実行して 8 桁のパスワードを取得します コードは次のように実装されていますMain
関数
:static void Main(string[] args) { string chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; Random randrom = new Random((int)DateTime.Now.Ticks); string path1 = @"C:\Users\lenovo\Desktop\pws.txt"; for (int j = 0; j < 10000;j++ ) { string str = ""; for (int i = 0; i < 8; i++) { str += chars[randrom.Next(chars.Length)];//randrom.Next(int i)返回一个小于所指定最大值的非负随机数 } if (IsNumber(str))//判断是否全是数字 continue; if (IsLetter(str))//判断是否全是字母 continue; File.AppendAllText(path1, str); string pws = Md5(str,32);//MD5加密 File.AppendAllText(path1, "," + pws + "\r\n"); } Console.WriteLine("ok"); Console.Read(); }String.trim関数を上手に使って、すべてが数字なのか、すべてが文字なのかを判断します。 説明: string.trim String
オブジェクトから先頭と末尾の空白文字を削除します。 戻り値: 文字列の先頭と末尾からすべての空白文字が削除された文字列のコピー。
オーバーロードがあります:
// をすべて現在のSystem.stringオブジェクトから削除します rimChars: to remove文字配列 string.Trim(params char[] trimChars)
メソッドは次のコードを実装します: //判断是否全是数字
static bool IsNumber(string str)
{
if (str.Trim("0123456789".ToCharArray()) == "")
return true;
return false;
}
//判断是否全是字母
static bool IsLetter(string str)
{
if (str.Trim("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".ToCharArray()) == "")
return true;
return false;
}
MD5 で暗号化され、アルゴリズム コードは次のように実装されます:
/// <summary> /// MD5加密 /// </summary> /// <param name="str">加密字元</param> /// <param name="code">加密位数16/32</param> /// <returns></returns> public static string Md5(string str, int code) { string strEncrypt = string.Empty; MD5 md5 = new MD5CryptoServiceProvider(); byte[] fromData = Encoding.GetEncoding("GB2312").GetBytes(str); byte[] targetData = md5.ComputeHash(fromData); for (int i = 0; i < targetData.Length; i++) { strEncrypt += targetData[i].ToString("X2"); } if (code == 16) { strEncrypt = strEncrypt.Substring(8, 16); } return strEncrypt; }
バッチ パスワードを生成し、暗号化されたパスワードは以下のようになります:
以上が数字と文字を含み、暗号化アルゴリズムで暗号化する必要があるランダム パスワードを生成する C# バッチのコード例の詳細な紹介。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。