Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Security.Cryptography;
- using System.IO;
- namespace EncryptionSoftware
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- string file;
- private void button2_Click(object sender, EventArgs e)
- {
- if (textBox1.Text == "")
- MessageBox.Show("ERROR!");
- else
- {
- byte[] selectedFileBytes = File.ReadAllBytes(file);
- byte[] passwordBytes = System.Text.Encoding.UTF8.GetBytes(textBox1.Text);
- using (var aesProvider = new AesCryptoServiceProvider())
- {
- aesProvider.KeySize = 256;
- aesProvider.Key = System.Text.Encoding.UTF8.GetBytes(textBox1.Text);
- aesProvider.GenerateIV();
- aesProvider.Mode = CipherMode.CBC;
- aesProvider.Padding = PaddingMode.PKCS7;
- using (var aesEncryptor = aesProvider.CreateEncryptor(aesProvider.Key, aesProvider.IV))
- {
- using (var fstream = new FileStream(file+".crypt",FileMode.Create))
- {
- //algoritmul foloseste un vector de initializare (IV) pe 16 bytes
- //retinem IV generat automat pentru o mai buna securitate si posibilitatea decryptari fisierului
- fstream.Write(aesProvider.IV, 0, 16);
- using (CryptoStream cs = new CryptoStream(fstream, aesEncryptor, CryptoStreamMode.Write))
- {
- cs.Write(selectedFileBytes, 0, selectedFileBytes.Length);
- cs.FlushFinalBlock();
- //Flush final block method indica CryptoStream-ului ca nu mai urmeaza sa apara alte date si trebuie sa introduca padding-ul specific algoritmului
- }
- }
- }
- }
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- openFileDialog1.ShowDialog();
- file = openFileDialog1.FileName.ToString();
- label1.Text = file;
- }
- private void button3_Click(object sender, EventArgs e)
- {
- if (textBox1.Text == "")
- MessageBox.Show("ERROR!");
- else
- {
- FileStream fsread = new FileStream(file, FileMode.Open, FileAccess.Read);
- using (var aesProvider = new AesCryptoServiceProvider())
- {
- aesProvider.KeySize = 256;
- aesProvider.Key = System.Text.Encoding.UTF8.GetBytes(textBox1.Text);
- aesProvider.Mode = CipherMode.CBC;
- aesProvider.Padding = PaddingMode.PKCS7;
- using (var fostream = new FileStream(file + ".decrypt", FileMode.Create,FileAccess.Write))
- {
- byte[] buffer=new byte[33];
- var ms = new FileStream(file, FileMode.Open, FileAccess.Read);
- ms.Read(buffer, 0, 16);
- aesProvider.IV=buffer;
- var aesDecryptor = aesProvider.CreateDecryptor(aesProvider.Key, aesProvider.IV);
- using (CryptoStream cs = new CryptoStream(fostream, aesDecryptor, CryptoStreamMode.Write))
- {
- byte[] bytearrayinput = new byte[fsread.Length - 17];
- fsread.Read(bytearrayinput, 17, bytearrayinput.Length);
- cs.Write(bytearrayinput, 0, bytearrayinput.Length);
- cs.Close();
- fsread.Close();
- fostream.Close();
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment