Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Step 1 - Read the bytes of the file to encrypt:
- var fileBytes = File.ReadAllBytes(PathOfFileToEncrypt);
- Step 2 - Call Method to Encrypt File
- var finalFile = EncryptFile(fileBytes, string.Format("{0}-Encrypted", Path.Combine(encryptionOutDirectory, cpiFileName)));
- Here is the Method
- private static FileInfo EncryptFile(byte[] fileBytes, string outFileName)
- {
- string keyString = "KEY";
- byte[] keyBytes = ASCIIEncoding.UTF8.GetBytes(keyString);
- KeyParameter sk = ParameterUtilities.CreateKeyParameter("AES", keyBytes);
- RNGCryptoServiceProvider rngCsp = new RNGCryptoServiceProvider();
- byte[] iv = new byte[16];
- rngCsp.GetBytes(iv);
- var c = CipherUtilities.GetCipher("AES/CTR/NoPadding");
- c.Init(true, new ParametersWithIV(sk, iv));
- var encryptedData = c.DoFinal(fileBytes);
- string base64EncryptedOutputString = Convert.ToBase64String(encryptedData);
- string encryptedFileName = outFileName.Replace("-Encrypted", "_" + BitConverter.ToInt64(iv, 0).ToString());
- File.WriteAllText(encryptedFileName, base64EncryptedOutputString);
- return new FileInfo(encryptedFileName);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement