资源简介
开发环境VS2013;编程语言C#;用des对称加解密方法对任意文本文件进行加解密操作。可通过选择读入文本文件的方式,对文件进行操作。程序已编译运行通过,可放心使用。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace FileLock
{
///
/// 异常处理类
///
public class CryptoHelpException : ApplicationException
{
public CryptoHelpException(string msg) : base(msg) { }
}
///
/// CryptHelp
///
public class DESFileClass
{
private const ulong FC_TAG = 0xFC010203040506CF;
private const int BUFFER_SIZE = 128 * 1024;
///
/// 检验两个Byte数组是否相同
///
/// Byte数组
/// Byte数组
/// true-相等
private static bool CheckByteArrays(byte[] b1 byte[] b2)
{
if (b1.Length == b2.Length)
{
for (int i = 0; i < b1.Length; ++i)
{
if (b1[i] != b2[i])
return false;
}
return true;
}
return false;
}
///
///
///
/// 密码
///
/// 加密对象
private static SymmetricAlgorithm CreateRijndael(string password byte[] salt)
{
PasswordDeriveBytes pdb = new PasswordDeriveBytes(password salt “SHA256“ 1000);
SymmetricAlgorithm sma = Rijndael.Create();
sma.KeySize = 256;
sma.Key = pdb.GetBytes(32);
sma.Padding = PaddingMode.PKCS7;
return sma;
}
///
/// 加密文件随机数生成
///
private static RandomNumberGenerator rand = new RNGCryptoServiceProvider();
///
/// 生成指定长度的随机Byte数组
///
/// Byte数组长度
/// 随机Byte数组
private static byte[] GenerateRandomBytes(int count)
{
byte[] bytes = new byte[count];
rand.GetBytes(bytes);
return bytes;
}
///
/// 加密文件
///
/// 待加密文件
/// 加密后输入文件
/// 加密密码
public static void EncryptFile(string inFile string outFile string password)
{
using (FileStream fin = File.OpenRead(inFile)
fout = File.OpenWrite(outFile))
{
long lSize = fin.Length; // 输入文件长度
int size = (int)lSize;
byte[] bytes = new byte[BUFFER_SIZE]; // 缓存
int read = -1; // 输入文件读取数量
int value = 0;
// 获取IV和salt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1366 2016-03-03 19:26 FileLock\FileLock\Properties\AssemblyInfo.cs
文件 5612 2016-03-03 19:26 FileLock\FileLock\Properties\Resources.resx
文件 2864 2016-03-03 19:26 FileLock\FileLock\Properties\Resources.Designer.cs
文件 249 2016-03-03 19:26 FileLock\FileLock\Properties\Settings.settings
文件 1091 2016-03-03 19:26 FileLock\FileLock\Properties\Settings.Designer.cs
文件 1713 2016-03-03 20:06 FileLock\FileLock\Form1.cs
文件 5891 2016-03-03 20:06 FileLock\FileLock\Form1.Designer.cs
文件 489 2016-03-03 19:26 FileLock\FileLock\Program.cs
文件 3718 2016-03-03 20:06 FileLock\FileLock\FileLock.csproj
文件 11600 2016-03-03 20:47 FileLock\FileLock\bin\Debug\FileLock.vshost.exe
文件 12800 2016-03-03 20:10 FileLock\FileLock\bin\Debug\FileLock.exe
文件 32256 2016-03-03 20:10 FileLock\FileLock\bin\Debug\FileLock.pdb
文件 6338 2016-03-03 20:10 FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 2164 2016-03-03 19:26 FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 180 2016-03-03 20:06 FileLock\FileLock\obj\x86\Debug\FileLock.Properties.Resources.resources
文件 244 2016-03-03 20:06 FileLock\FileLock\obj\x86\Debug\GenerateResource.read.1.tlog
文件 778 2016-03-03 20:06 FileLock\FileLock\obj\x86\Debug\GenerateResource.write.1.tlog
文件 32256 2016-03-03 20:10 FileLock\FileLock\obj\x86\Debug\FileLock.pdb
文件 12800 2016-03-03 20:10 FileLock\FileLock\obj\x86\Debug\FileLock.exe
文件 820 2016-03-03 20:47 FileLock\FileLock\obj\x86\Debug\FileLock.csproj.FileListAbsolute.txt
文件 180 2016-03-03 20:06 FileLock\FileLock\obj\x86\Debug\FileLock.Form1.resources
文件 6020 2016-03-03 20:06 FileLock\FileLock\Form1.resx
文件 8144 2016-03-03 20:10 FileLock\FileLock\DESFileClass.cs
文件 866 2016-03-03 19:26 FileLock\FileLock.sln
..A..H. 20480 2016-03-03 20:59 FileLock\FileLock.suo
文件 8 2016-03-03 20:37 FileLock\text.txt
目录 0 2016-03-03 19:26 FileLock\FileLock\obj\x86\Debug\TempPE
目录 0 2016-03-03 19:26 FileLock\FileLock\obj\x86\Debug
目录 0 2016-03-03 19:26 FileLock\FileLock\bin\Debug
目录 0 2016-03-03 19:49 FileLock\FileLock\bin\Release
............此处省略9个文件信息
- 上一篇:C# 获取网页源码并保存到txt
- 下一篇:C#开发模拟回合制游戏源码
评论
共有 条评论