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

c#.net DES写入文件的加密解密算法 为什么解密实现不了

public class 加密解密
    {
        private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
        public void EncryptDES(string filename, string newFilename, string key)
        {
            byte[] bKey = Encoding.UTF8.GetBytes(key);
            byte[] bIV = Keys;
            byte[] input = new byte[200];
            StreamReader sr = new StreamReader(filename);
            input = Encoding.UTF8.GetBytes(sr.ReadToEnd());
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            MemoryStream memory = new MemoryStream();
            CryptoStream c = new CryptoStream(memory, des.CreateEncryptor(bKey, bIV), CryptoStreamMode.Write);
            c.Write(input, 0, input.Length);
            FileStream f = new FileStream(newFilename, FileMode.Create);
            StreamWriter sw = new StreamWriter(f);
            byte[] output = new byte[200];
            output = memory.ToArray();
            sw.Write(Convert.ToBase64String(output.ToArray()));
            sr.Close();
            sw.Close();
            f.Close();
        }
        public void DecryptDES(string filename, string newFilename, string key)
        {

            byte[] bKey = Encoding.UTF8.GetBytes(key);
            byte[] bIV = Keys;
            byte[] input = new byte[200];
            StreamReader sr = new StreamReader(filename);
            input = Encoding.UTF8.GetBytes(sr.ReadToEnd());
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            MemoryStream memory = new MemoryStream();
            CryptoStream c = new CryptoStream(memory, des.CreateDecryptor(bKey, bIV), CryptoStreamMode.Write);
            c.Write(input, 0, input.Length);
            FileStream f = new FileStream(newFilename, FileMode.Create);
            StreamWriter sw = new StreamWriter(f);
            byte[] output = new byte[200];
            output = memory.ToArray();
            sw.Write(Convert.ToBase64String(output.ToArray()));
            sr.Close();
            sw.Close();
            f.Close();
        }
    } --------------------编程问答-------------------- CryptoStream c = new CryptoStream(memory, des.CreateDecryptor(bKey, bIV), CryptoStreamMode.Write);

不应该 是Read么? --------------------编程问答--------------------
引用 1 楼  的回复:
CryptoStream c = new CryptoStream(memory, des.CreateDecryptor(bKey, bIV), CryptoStreamMode.Write);

不应该 是Read么?

那你能不能说说这个构造方法的这些参数具体是怎么用的 --------------------编程问答-------------------- CryptoStream

自己去 MSDN 啊, --------------------编程问答--------------------
引用 3 楼  的回复:
CryptoStream

自己去 MSDN 啊,

我大概知道,只是觉得2楼说得不对啊 --------------------编程问答-------------------- 为什么解密文件是空的啊
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,