DES加密解密 md5加密

来源:互联网 发布:js将input变成只读 编辑:程序博客网 时间:2024/06/11 03:47

private string encryptKey = "3abc"; //定义密钥

   //加密

            System.Security.Cryptography.DESCryptoServiceProvider desProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
            byte[] key = System.Text.Encoding.Unicode.GetBytes(encryptKey);
            byte[] data = System.Text.Encoding.Unicode.GetBytes(textBox1.Text.Trim());
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cryptoStream = new System.Security.Cryptography.CryptoStream(ms, desProvider.CreateEncryptor(key, key), System.Security.Cryptography.CryptoStreamMode.Write);
            cryptoStream.Write(data, 0, data.Length);
            cryptoStream.FlushFinalBlock();
            textBox2.Text = Convert.ToBase64String(ms.ToArray());

  //解密

            System.Security.Cryptography.DESCryptoServiceProvider desProvider = new System.Security.Cryptography.DESCryptoServiceProvider();
            byte[] key = System.Text.Encoding.Unicode.GetBytes(encryptKey);
            byte[] data = Convert.FromBase64String(textBox2.Text.Trim());
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cryptoStream = new System.Security.Cryptography.CryptoStream(ms, desProvider.CreateDecryptor(key, key), System.Security.Cryptography.CryptoStreamMode.Write);
            cryptoStream.Write(data, 0, data.Length);
            cryptoStream.FlushFinalBlock();
            textBox3.Text = System.Text.Encoding.Unicode.GetString(ms.ToArray());

//MD5 32位加密
        private void button2_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = String.Empty;
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] beforeEncrypt = System.Text.Encoding.Default.GetBytes(textBox2.Text.Trim()); //将字符编码为一个序列
            byte[] md5Data = md5.ComputeHash(beforeEncrypt);//计算指定字节数组的Hash值
            md5.Clear();
            string str = String.Empty;
            for (int i = 0; i < md5Data.Length; i++)
            {
                str += md5Data[i].ToString("x").PadLeft(2, '0');//X为大写,则加密后显示大写,否则为小写
            }
            richTextBox1.Text = str;
        }

原创粉丝点击