ホームページ  >  記事  >  バックエンド開発  >  数字と文字を含み、暗号化アルゴリズムで暗号化する必要があるランダム パスワードを生成する C# バッチのコード例の詳細な紹介。

数字と文字を含み、暗号化アルゴリズムで暗号化する必要があるランダム パスワードを生成する C# バッチのコード例の詳細な紹介。

黄舟
黄舟オリジナル
2017-03-29 11:25:101797ブラウズ

この記事では主に C# バッチ生成されたランダム パスワードには数字と文字が含まれており、暗号化アルゴリズムで暗号化されている必要があることを参照してください。

アイデア:

1. 数字と文字をリストします。 string

: chars

で構成されます。 2. randrom.Next(int i) を使用して、指定された最大値より小さい非負の乱数を返します。

3. chars の長さ以上の乱数 a をランダムに選択し、文字列 chars の a 番目の文字を選択します。 4. ループ

を 8 回実行して 8 桁のパスワードを取得します

5. N 回ループしてパスワードをバッチで取得します。

コードは次のように実装されています

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。