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
    }

  • 相关阅读:
    2008年10月小记(SQL删除重复记录,生成表结构,字符串特性,statistics io)
    mysql 中 @
    使用单个innodb表,实现锁,防止游戏被刷物品或者其它资源!
    PSL
    8年PHP,懂点内核, 能写PHP扩展,5年网站经历+3年webgame经历,找个兼职
    Php aes算法
    MySQL触发器自动更新memcache
    怎么配置MySQL服务器(Incorrect string value)
    使用 PHP 将 XML 转化为易读的数组!
    使用Valgrind 查找内存泄露
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1763742.html
Copyright © 2011-2022 走看看