コード例 #1
0
        private async Task <bool> EncryptDataToFile(byte[] streamedFileContent, string absolutePath)
        {
            RijndaelManaged myRijndael  = new RijndaelManaged();
            var             rijndaeData = await _context.RijndaelKeys.FirstOrDefaultAsync();

            myRijndael.Key = Convert.FromBase64String(rijndaeData.Key);
            myRijndael.IV  = Convert.FromBase64String(rijndaeData.IV);

            return(SymmetricCrypto.EncryptDataAndSaveToFile(streamedFileContent, myRijndael.Key, myRijndael.IV, absolutePath, CryptoAlgorithm.Rijndael));
        }
        private async Task <bool> EncryptDataToFile(byte[] streamedFileContent, string absolutePath, EncryptAlg encryptAlg)
        {
            if (encryptAlg == EncryptAlg.AES)
            {
                var aesData = await _context.AesKeys.FirstOrDefaultAsync();

                return(SymmetricCrypto.EncryptDataAndSaveToFile(streamedFileContent, aesData.Key, aesData.IV, absolutePath, CryptoAlgorithm.Aes));
            }
            else
            {
                var rijndaeData = await _context.RijndaelKeys.FirstOrDefaultAsync();

                byte[] key = Convert.FromBase64String(rijndaeData.Key);
                byte[] IV  = Convert.FromBase64String(rijndaeData.IV);
                return(SymmetricCrypto.EncryptDataAndSaveToFile(streamedFileContent, key, IV, absolutePath));
            }
        }