public static void Encrypt(Stream input, Stream output, EncryptionParameter parameter) { var secretKey = Random.CreateData(SymmetricEncryption.AesKeyLength + SymmetricEncryption.HmacKeyLength); var hybridFileInfo = EllipticCurveEncryptionInformation.Create(parameter.PublicKeys, secretKey); var internalParameter = new EncryptInternalParameter { Filename = parameter.Filename, PasswordDerivationSettings = null, EllipticCurveEncryptionInformation = hybridFileInfo, Progress = parameter.Progress, IsCanceled = parameter.IsCanceled }; SymmetricEncryption.EncryptInternal(input, output, secretKey, internalParameter); }
public static void Encrypt(string inputPath, string outputPath, EncryptionParameter parameter) { using (var input = File.OpenRead(inputPath)) using (var output = File.Open(outputPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) Encrypt(input, output, parameter); }