示例#1
0
        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);
        }
示例#2
0
 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);
 }