欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 批量生成隨機(jī)密碼必須包含數(shù)字和字母并用加密算法加密

 更新時(shí)間:2017年01月18日 16:53:31   作者:SweetMemory  
這篇文章主要介紹了C# 批量生成隨機(jī)密碼必須包含數(shù)字和字母并用加密算法加密,需要的朋友參考下

要求:

密碼必須包含數(shù)字和字母

思路:

1.列出數(shù)字和字符。 組成字符串 :chars

        2.利用randrom.Next(int i)返回一個(gè)小于所指定最大值的非負(fù)隨機(jī)數(shù)。

        3. 隨機(jī)取不小于chars長(zhǎng)度的隨機(jī)數(shù)a,取字符串chars的第a位字符。

        4.循環(huán) 8次,得到8位密碼

        5.循環(huán)N次,批量得到密碼。

代碼實(shí)現(xiàn)如下 Main函數(shù):

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)返回一個(gè)小于所指定最大值的非負(fù)隨機(jī)數(shù)
        }
        if (IsNumber(str))//判斷是否全是數(shù)字
          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 函數(shù),判斷是否全是數(shù)字,全是字母。

說(shuō)明:string.trim   從 String 對(duì)象移除前導(dǎo)空白字符和尾隨空白字符。

返回:一個(gè)字符串副本,其中從該字符串的開(kāi)頭和末尾移除了所有空白字符。

有一個(gè)重載:string.Trim(params char[] trimChars)  

//從當(dāng)前System.string對(duì)象移除數(shù)組中指定的一組字符的所有前導(dǎo)匹配項(xiàng)和尾部匹配項(xiàng)

 trimChars:要?jiǎng)h除的字符數(shù)組

方法實(shí)現(xiàn)如下代碼:

 //判斷是否全是數(shù)字
    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加密,算法代碼實(shí)現(xiàn)如下:    

/// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="str">加密字元</param>
    /// <param name="code">加密位數(shù)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# 批量生成隨機(jī)密碼必須包含數(shù)字和字母并用加密算法加密,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論