下面的EncryptFile和DecryptFile方法以非常高的级别加密或解密文件。
// Encrypt or decrypt a file, saving the results in another file.
public static void EncryptFile(string password,
string in_file, string out_file)
{
CryptFile(password, in_file, out_file, true);
}
public static void DecryptFile(string password,
string in_file, string out_file)
{
CryptFile(password, in_file, out_file, false);
}
这些方法只是调用下面的CryptFile方法,该方法也在高层次上起作用。
主程序调用这些方法来加密和解密文件中的文本。它使用在 C# 中在字节数组和十六进制字符串之间进行转换中描述的技术将加密文件显示为十六进制值序列。
public static void CryptFile(string password,
string in_file, string out_file, bool encrypt)
{
// Create input and output file streams.
using (FileStream in_stream =
new FileStream(in_file, FileMode.Open, FileAccess.Read))
{
using (FileStream out_stream =
new FileStream(out_file, FileMode.Create,
FileAccess.Write))