zoukankan      html  css  js  c++  java
  • Base64、Md5、Des加密

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text;
    using System.IO;
    using System.Security.Cryptography;

    public partial class _Default : System.Web.UI.Page
    {
        //默认密钥向量
        private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        #region base64
        //加密
        protected void Button1_Click(object sender, EventArgs e)
        {
            string context = this.TextBox1.Text.Trim();
            byte[] arrs = Encoding.GetEncoding("UTF-8").GetBytes(context);
            this.TextBox2.Text = Convert.ToBase64String(arrs);
        }
        //解密
        protected void Button2_Click(object sender, EventArgs e)
        {
            string context = this.TextBox1.Text.Trim();
            char[] chars = context.ToCharArray();
            byte[] byts = Convert.FromBase64CharArray(chars, 0, chars.Length);
            this.TextBox2.Text =Encoding.GetEncoding("UTF-8").GetString(byts);
            //Convert.to
        }
    #endregion

        #region MD5
        protected void Button3_Click(object sender, EventArgs e)
        {
            string context =this.TextBox3.Text.Trim();
            this.TextBox4.Text = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(context, "md5");
        }
        #endregion

        #region Des加密解密
        //加密
        protected void Button4_Click(object sender, EventArgs e)
        {
            string key = this.TexKey.Text.Trim();
            //StringBuilder key = new StringBuilder(this.TexKey.Text.Trim());


            if (key.Length < 8)
            {
                for (int i = key.Length; i <= 8; i++)
                {
                    key += "-";

                }
                this.TexKey.Text = key.ToString();
            }
            //获取要加密的字符串
            string encryptString = this.TexDes.Text.Trim();


            byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));

            //byte[] keyIV = keyBytes;
            byte[] keyIV = Keys;


            byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
            DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);

            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            //return Convert.ToBase64String(mStream.ToArray());
            this.txtResult.Text = Convert.ToBase64String(mStream.ToArray());
        }
        //解密
        protected void Button5_Click(object sender, EventArgs e)
        {
            //获取解密字符串
            string decryptString = this.TexDes.Text.Trim();
            //获取密钥
            string key = this.TexKey.Text.Trim();


            byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));

            //byte[] keyIV = keyBytes;
            byte[] keyIV = Keys;
            try
            {
                byte[] inputByteArray = Convert.FromBase64String(decryptString);
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
                MemoryStream mStream = new MemoryStream();
                CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);
                cStream.Write(inputByteArray, 0, inputByteArray.Length);
                cStream.FlushFinalBlock();
                //return Encoding.UTF8.GetString(mStream.ToArray());

                this.txtResult.Text = Encoding.UTF8.GetString(mStream.ToArray());
            }
            catch
            {
                TexKey.Text = "密码错误!";

            }
        }
        #endregion
    }

  • 相关阅读:
    Connected Components? Codeforces
    洛谷 P1344 [USACO4.4]追查坏牛奶Pollutant Control
    洛谷 P4174 [NOI2006]最大获利 && 洛谷 P2762 太空飞行计划问题 (最大权闭合子图 && 最小割输出任意一组方案)
    表达式求值
    费用流(自用,勿看)
    二分图??(自用,勿看)
    C 标准库
    Linux-socket使用
    C 标准库
    C 标准库
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1763742.html
Copyright © 2011-2022 走看看