net 加密-解密

 #region DES加密 解密
    //key:32位
        public string DESEncrypt(string strSource, byte[] key)
        {
            System.Security.Cryptography.SymmetricAlgorithm sa = System.Security.Cryptography.Rijndael.Create();
            sa.Key = key;
            sa.Mode = System.Security.Cryptography.CipherMode.ECB;
            sa.Padding = System.Security.Cryptography.PaddingMode.Zeros;
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, sa.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write);
            byte[] byt = System.Text.Encoding.Unicode.GetBytes(strSource);
            cs.Write(byt, 0, byt.Length);
            cs.FlushFinalBlock();
            cs.Close();
            return Convert.ToBase64String(ms.ToArray());

        }
        public string DESDecrypt(string strSource,byte[] key)
        {
            System.Security.Cryptography.SymmetricAlgorithm sa = System.Security.Cryptography.Rijndael.Create();
            sa.Key = key;
            sa.Mode = System.Security.Cryptography.CipherMode.ECB;
            sa.Padding = System.Security.Cryptography.PaddingMode.Zeros;
            System.Security.Cryptography.ICryptoTransform ct = sa.CreateDecryptor();
            byte[] byt =  Convert.FromBase64String(strSource);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, ct, System.Security.Cryptography.CryptoStreamMode.Write);
            cs.Write(byt,0,byt.Length);
            cs.FlushFinalBlock();
            cs.Close();
            return System.Text.Encoding.Unicode.GetString(ms.ToArray());
        } 
        #endregion

 

posted @ 2013-11-10 22:30  linzhao  阅读(192)  评论(0编辑  收藏  举报