【數據庫實驗5】VS——C#驗證碼、觸發、加密、首頁、菜單

 

任務:新增驗證碼、密碼存儲加密、窗口菜單欄。

 

目錄

驗證碼

觸發

加密

首頁

菜單

 

 


 

驗證碼

 

  新建數組,存儲數字+大小寫字母。

  隨機數,隨機組成四個字符。

 

        private string Rcode;               //數組存放驗證碼
        private static char[] constant =
       {   '0','1','2','3','4','5','6','7','8','9',
            'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
            'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
        };

        public void Randomcode()        //隨機生成驗證碼函數
        {
            int i;
            Rcode = "";
            Random rand = new Random();
            for (i = 0; i < 4; i++)
            {
                Rcode += constant[rand.Next(0, 57)];
            }
            textBox3.Text = Rcode;

        }

 

  刷新驗證碼

 

            this.Randomcode();

 

  因爲驗證碼不區分大小寫。將驗證碼與輸入的驗證碼,字母均改爲大寫字母。驗證碼不區分大小寫。

            code = code.ToUpper();
            Rcode = Rcode.ToUpper();

 

  爲了方便查看,將驗證碼的TextBox設置成只讀,並設置前色和後色。

 

 


 

觸發

 

  點擊這個小閃電。

  判斷輸入內容是否正確。

 

 

        private void textBox2_Leave(object sender, EventArgs e)
        {
            if (textBox2.Text.Trim() != "")
            {
                //使用regex(正則表達式)進行格式設置 至少有數字、大寫字母、小寫字母各一個。最少3個字符、最長20個字符。
                Regex regex = new Regex(@"(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{3,20}");

                if (regex.IsMatch(textBox2.Text))//判斷格式是否符合要求
                {
                    label8.Text = "";
                }
                else
                {
                    label8.Text = "*至少包含數字、大小寫字母各一個。且不超過20個字符";
                }
            }
            else
            {
                label8.Text = "*密碼不能爲空";
            }

        }

 


 

加密

 

  對密碼進行加密:

 

        public static string EncryptWithMD5(string source)
        {
            byte[] sor = Encoding.UTF8.GetBytes(source);
            MD5 md5 = MD5.Create();
            byte[] result = md5.ComputeHash(sor);
            StringBuilder strbul = new StringBuilder(40);
            for (int i = 0; i < result.Length; i++)
            {
                strbul.Append(result[i].ToString("x2"));    //加密結果"x2"結果爲32位,"x3"結果爲48位,"x4"結果爲64位
            }
            return strbul.ToString();
        }

 

  存入數據庫的密碼爲加密後的密碼,若登錄時輸入的密碼與存儲的密碼相比較,將輸入的密碼同樣加密即可。

 

string password = EncryptWithMD5(textBox2.Text.Trim());     //取出密碼、加密

 


首頁

 

  默認打開的第一個窗口是Form1,這裏修改一下。

 

  點開Program。

 

 

 

  這裏指的就是程序運行打開的第一個就是Form1,修個這裏即可。

Application.Run(new Form1());

 


 

菜單

 

  選擇MenuStrip,操作即可。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章