加密解密处理工具
加密与解密
一个简单的加密与解密工具代码,直接对文件进行加密与解密。
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.Cryptography;
public class EncryptTools
{
/**//// <summary>
/// 加密使用指定的密钥加密文件
/// </summary>
/// <param name="sInputFilename">需要加密的文件按</param>
/// <param name="sOutputFilename">加密后的文件</param>
/// <param name="sKey">密钥</param>
public static void EncryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
FileStream fsInput = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);
FileStream fsEncrypted = new FileStream(sOutputFilename,
FileMode.Create,
FileAccess.Write);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(fsEncrypted,
desencrypt,
CryptoStreamMode.Write);
byte[] bytearrayinput = new byte[fsInput.Length];
fsInput.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Close();
fsInput.Close();
fsEncrypted.Close();
}
/**//// <summary>
/// 解密指定的文件
/// </summary>
/// <param name="sInputFilename">需要解密的文件</param>
/// <param name="sOutputFilename">解密的文件输出</param>
/// <param name="sKey">密钥</param>
public static void DecryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
//A 64 bit key and IV is required for this provider.
//Set secret key For DES algorithm.
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
//Set initialization vector.
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
//Create a file stream to read the encrypted file back.
FileStream fsread = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);
//Create a DES decryptor from the DES instance.
ICryptoTransform desdecrypt = DES.CreateDecryptor();
FileStream fsDecrypted = new FileStream(sOutputFilename, FileMode.Create, FileAccess.Write);
//Create crypto stream set to read and do a DES decryption transform on incoming bytes.
CryptoStream cryptostreamDecr = new CryptoStream(fsDecrypted, desdecrypt, CryptoStreamMode.Write);
//Print out the contents of the decrypted file.
byte[] bytearrayinput = new byte[fsread.Length];
fsread.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostreamDecr.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostreamDecr.Close();
fsread.Close();
fsDecrypted.Close();
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.Cryptography;
public class EncryptTools
{
/**//// <summary>
/// 加密使用指定的密钥加密文件
/// </summary>
/// <param name="sInputFilename">需要加密的文件按</param>
/// <param name="sOutputFilename">加密后的文件</param>
/// <param name="sKey">密钥</param>
public static void EncryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
FileStream fsInput = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);
FileStream fsEncrypted = new FileStream(sOutputFilename,
FileMode.Create,
FileAccess.Write);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(fsEncrypted,
desencrypt,
CryptoStreamMode.Write);
byte[] bytearrayinput = new byte[fsInput.Length];
fsInput.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Close();
fsInput.Close();
fsEncrypted.Close();
}
/**//// <summary>
/// 解密指定的文件
/// </summary>
/// <param name="sInputFilename">需要解密的文件</param>
/// <param name="sOutputFilename">解密的文件输出</param>
/// <param name="sKey">密钥</param>
public static void DecryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
//A 64 bit key and IV is required for this provider.
//Set secret key For DES algorithm.
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
//Set initialization vector.
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
//Create a file stream to read the encrypted file back.
FileStream fsread = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);
//Create a DES decryptor from the DES instance.
ICryptoTransform desdecrypt = DES.CreateDecryptor();
FileStream fsDecrypted = new FileStream(sOutputFilename, FileMode.Create, FileAccess.Write);
//Create crypto stream set to read and do a DES decryption transform on incoming bytes.
CryptoStream cryptostreamDecr = new CryptoStream(fsDecrypted, desdecrypt, CryptoStreamMode.Write);
//Print out the contents of the decrypted file.
byte[] bytearrayinput = new byte[fsread.Length];
fsread.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostreamDecr.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostreamDecr.Close();
fsread.Close();
fsDecrypted.Close();
}
}