基本信息
源码名称:文件加密解密软件(附C#源代码)
源码大小:0.13M
文件格式:.rar
开发语言:C#
更新时间:2015-11-14
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;
namespace 文件加密
{
public partial class Form1 : Form
{
string style = "";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
style = openFileDialog1.SafeFileName.Substring(openFileDialog1.SafeFileName.LastIndexOf("."));
saveFileDialog1.FileName = "security" style;
saveFileDialog1.Filter = "文件格式(" style ")|*" style;
}
}
private void button3_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox2.Text = saveFileDialog1.FileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
//加密文件
if (this.textBox1.Text.Trim().Length <= 0)
{
MessageBox.Show("请输入要加密的文件名!");
return;
}
if (this.textBox2.Text.Trim().Length <= 0)
{
MessageBox.Show("请输入加密文件的存储路径!");
return;
}
if (textBox3.Text.Trim() != textBox4.Text.Trim() || textBox3.Text.Trim().Length <6)
{
MessageBox.Show("密码输入有误,请检查!");
return;
}
string JM_filename = this.textBox1.Text.Trim();
string JM_savefilename = this.textBox2.Text.Trim();
byte[] MyDesiv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
byte[] MydesKey = { };
string MyKeyString = this.textBox3.Text.Trim();
if (MyKeyString.Length == 6)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], 0x07, 0x08 };
}
if (MyKeyString.Length == 7)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], (byte)MyKeyString[6], 0x07 };
}
if (MyKeyString.Length >= 8)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], (byte)MyKeyString[6], (byte)MyKeyString[7] };
}
FileStream MyInFileStream = new FileStream(JM_filename, FileMode.Open, FileAccess.Read);
FileStream MyoutFileStream = new FileStream(JM_savefilename, FileMode.OpenOrCreate, FileAccess.Write);
MyoutFileStream.SetLength(0);
byte[] insertData = new byte[100];
int completedLength = 0;
long InFileSize = MyInFileStream.Length;
DES MyDES = new DESCryptoServiceProvider();
CryptoStream Encryptstream = new CryptoStream(MyoutFileStream, MyDES.CreateEncryptor(MydesKey, MyDesiv), CryptoStreamMode.Write);
while (completedLength < InFileSize)
{
int length = MyInFileStream.Read(insertData, 0, 100);
Encryptstream.Write(insertData, 0, length);
completedLength = completedLength length;
}
Encryptstream.Close();
MyoutFileStream.Close();
MyInFileStream.Close();
MessageBox.Show("文件加密成功!");
}
private void button6_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox6.Text = saveFileDialog1.FileName;
}
}
private void button4_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox5.Text = openFileDialog1.FileName;
style = openFileDialog1.SafeFileName.Substring(openFileDialog1.SafeFileName.LastIndexOf("."));
saveFileDialog1.FileName = "UNsecurity" style;
saveFileDialog1.Filter = "文件格式(" style ")|*" style;
}
}
private void button5_Click(object sender, EventArgs e)
{
if (this.textBox5.Text.Trim().Length <= 0)
{
MessageBox.Show("请输入要解密的文件名!");
return;
}
if (this.textBox6.Text.Trim().Length <= 0)
{
MessageBox.Show("请输入解密文件的存储路径!");
return;
}
if (textBox7.Text.Trim().Length < 6)
{
MessageBox.Show("密码输入有误,请检查!");
return;
}
try
{
string MyInfilename = this.textBox5.Text.Trim();
string MyoutFileName = this.textBox6.Text.Trim();
byte[] MyDesiv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
byte[] MydesKey = { };
string MyKeyString = this.textBox7.Text.Trim();
if (MyKeyString.Length == 6)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], 0x07, 0x08 };
}
if (MyKeyString.Length == 7)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], (byte)MyKeyString[6], 0x07 };
}
if (MyKeyString.Length >= 8)
{
MydesKey = new byte[] { (byte)MyKeyString[0], (byte)MyKeyString[1], (byte)MyKeyString[2], (byte)MyKeyString[3], (byte)MyKeyString[4], (byte)MyKeyString[5], (byte)MyKeyString[6], (byte)MyKeyString[7] };
}
FileStream MyInFileStream = new FileStream(MyInfilename, FileMode.Open, FileAccess.Read);
FileStream MyoutFileStream = new FileStream(MyoutFileName, FileMode.OpenOrCreate, FileAccess.Write);
MyoutFileStream.SetLength(0);
byte[] insertData = new byte[100];
int MyCompletedSize = 0;
long MyFileSize = MyInFileStream.Length;
DES MyDES = new DESCryptoServiceProvider();
CryptoStream DecryptStream = new CryptoStream(MyoutFileStream, MyDES.CreateDecryptor(MydesKey, MyDesiv), CryptoStreamMode.Write);
while (MyCompletedSize < MyFileSize)
{
int length = MyInFileStream.Read(insertData, 0, 100);
DecryptStream.Write(insertData, 0, length);
MyCompletedSize = MyCompletedSize length;
}
DecryptStream.Close();
MyoutFileStream.Close();
MyInFileStream.Close();
MessageBox.Show("文件解密成功!");
}
catch(Exception error)
{
MessageBox.Show("======文件解密有误======\r\n" error.Message);
}
}
}
}