First Add This Namespaces
Now The Function:
using System; using System.Collections.Generic; using System.Text; using System.Security; using System.Security.Cryptography; using System.Runtime.InteropServices; using System.Text.RegularExpressions; using System.IO; using System.Windows.Forms;
Now The Function:
public void Encrypt(string inputfile,string outputfile,string passPhrase,string saltValue,string hashAlgorithm,int passwordIterations,string initVector,int keySize)
{
byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector);
byte[] saltValueBytes = Encoding.ASCII.GetBytes(saltValue);
byte[] plainTextBytes = ReadByteArrayFromFile(inputfile);
PasswordDeriveBytes password = new PasswordDeriveBytes(passPhrase,saltValueBytes,hashAlgorithm,passwordIterations);
byte[] keyBytes = password.GetBytes(keySize / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes,initVectorBytes);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream,encryptor,CryptoStreamMode.Write);
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
byte[] cipherTextBytes = memoryStream.ToArray();
memoryStream.Close();
cryptoStream.Close();
File.WriteAllBytes(outputfile, cipherTextBytes);
}
0 comments:
Post a Comment