已知密钥String sKey,求加密算法,最主要是注释详细点.

解决方案 »

  1.   


            public static string DesDecode(string data)
            {
                byte[] buffer3;
                byte[] bytes = Encoding.ASCII.GetBytes("key");
                byte[] rgbIV = Encoding.ASCII.GetBytes("key");
                try
                {
                    buffer3 = Convert.FromBase64String(data);
                }
                catch
                {
                    return null;
                }
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
                MemoryStream stream = new MemoryStream(buffer3);
                CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(bytes, rgbIV), CryptoStreamMode.Read);
                StreamReader reader = new StreamReader(stream2);
                return reader.ReadToEnd();
            }        public static string DesEncode(string data)
            {
                byte[] bytes = Encoding.ASCII.GetBytes("key");
                byte[] rgbIV = Encoding.ASCII.GetBytes("key");
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
                int keySize = provider.KeySize;
                MemoryStream stream = new MemoryStream();
                CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(bytes, rgbIV), CryptoStreamMode.Write);
                StreamWriter writer = new StreamWriter(stream2);
                writer.Write(data);
                writer.Flush();
                stream2.FlushFinalBlock();
                writer.Flush();
                return Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length);
            }