当前位置:编程学习 > C#/ASP.NET >>

求一简单的 DES加密实例。要c#.net实现!

两个TextBox。两个Button.在TextBox1中输入内容点击Button1进行加密显示!在TextBox1中输入加密后的内容进行显示!
答案:public  class DESEncrypt
    {
        private string _iv = "12345678";
        private string _key = "acfeffsd";
        private DES _des = new DESCryptoServiceProvider();
        private Encoding _encoding = Encoding.Unicode;

        /// <summary>
        /// 
        /// </summary>
        /// <value>The encrypty key.</value>
        public string EncryptyKey
        {
            set { _key = value; }
            get { return _key; }
        }

        /// <summary>
        /// 
        /// </summary>
        /// <value>The encoding mode.</value>
        public Encoding EncodingMode
        {
            set { _encoding = value; }
            get { return _encoding; }
        }

        /// <summary>
        /// Encrypt
        /// </summary>
        /// <param name="str">The STR.</param>
        /// <returns></returns>
        public string Encrypt(string str)
        {
            var ivb = Encoding.ASCII.GetBytes(_iv);
            var keyb = Encoding.ASCII.GetBytes(EncryptyKey);
            var tob = EncodingMode.GetBytes(str);
            byte[] encrypted;

            var encryptor = _des.CreateEncryptor(keyb, ivb);
            var msEncrypt = new MemoryStream();
            var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
            csEncrypt.Write(tob, 0, tob.Length);
            csEncrypt.FlushFinalBlock();
            encrypted = msEncrypt.ToArray();
            csEncrypt.Close();
            msEncrypt.Close();
            return EncodingMode.GetString(encrypted);
        }

        /// <summary>
        /// Decript
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string Decrypt(string str)
        {
            var ivb = Encoding.ASCII.GetBytes(_iv);
            var keyb = Encoding.ASCII.GetBytes(EncryptyKey);
            var tob = EncodingMode.GetBytes(str);
            byte[] encrypted;
            var encryptor = _des.CreateDecryptor(keyb, ivb);
            var msEncrypt = new MemoryStream();
            var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
            csEncrypt.Write(tob, 0, tob.Length);
            csEncrypt.FlushFinalBlock();
            encrypted = msEncrypt.ToArray();
            csEncrypt.Close();
            msEncrypt.Close();
            return EncodingMode.GetString(encrypted);
        }
    }

上一个:在.net(c#)中,如何用response打印三元运算符结果
下一个:.net中:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节的错误

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,