【数据库实验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,操作即可。

 

 

 

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