C#对文件进行加密解密代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

C#对文件进行加密解密代码

using System;
using System.IO;
using System.Security.Cryptography;
  
public class Example19_9
{
    public static void Main()
    {
  
        // Create a new file to work with
        FileStream fsOut = File.Create(@"c:\temp\encrypted.txt");
  
        // Create a new crypto provider
        TripleDESCryptoServiceProvider tdes =
            new TripleDESCryptoServiceProvider();
  
        // Create a cryptostream to encrypt to the filestream
        CryptoStream cs = new CryptoStream(fsOut, tdes.CreateEncryptor(),
            CryptoStreamMode.Write);
  
        // Create a StreamWriter to format the output
        StreamWriter sw = new StreamWriter(cs);
  
        // And write some data
        sw.WriteLine("'Twas brillig, and the slithy toves");
        sw.WriteLine("Did gyre and gimble in the wabe.");
        sw.Flush();
        sw.Close();
  
        // save the key and IV for future use
        FileStream fsKeyOut = File.Create(@"c:\\temp\encrypted.key");
  
        // use a BinaryWriter to write formatted data to the file
        BinaryWriter bw = new BinaryWriter(fsKeyOut);
  
        // write data to the file
        bw.Write( tdes.Key );
        bw.Write( tdes.IV );
  
        // flush and close
        bw.Flush();
        bw.Close();
  
    }
  
}

解密代码如下
using System;
using System.IO;
using System.Security.Cryptography;
  
public class Example19_10
{
    public static void Main()
    {
  
        // Create a new crypto provider
        TripleDESCryptoServiceProvider tdes =
            new TripleDESCryptoServiceProvider();
  
        // open the file containing the key and IV
        FileStream fsKeyIn = File.OpenRead(@"c:\temp\encrypted.key");
  
        // use a BinaryReader to read formatted data from the file
        BinaryReader br = new BinaryReader(fsKeyIn);
  
        // read data from the file and close it
        tdes.Key = br.ReadBytes(24);
        tdes.IV = br.ReadBytes(8);
  
        // Open the encrypted file
        FileStream fsIn = File.OpenRead(@"c:\\temp\\encrypted.txt");
  
        // Create a cryptostream to decrypt from the filestream
        CryptoStream cs = new CryptoStream(fsIn, tdes.CreateDecryptor(),
            CryptoStreamMode.Read);
  
        // Create a StreamReader to format the input
        StreamReader sr = new StreamReader(cs);
  
        // And decrypt the data
        Console.WriteLine(sr.ReadToEnd());
        sr.Close();
  
    }
  
}

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:使用JSONP解决跨域问题-代码示例

下一篇: Java加密算法 PBE