public static T1 WcfBinaryCompressedDeserializeEncrypted <T1>(String dataFileName, SecureStringOrArray password) { var dataFilePath = GetDataFilePath(dataFileName); using (var stream = File.Open(dataFilePath, FileMode.Open)) using (var aes = CreateCrypto(password, dataFileName)) using (var cryptoStream = new CryptoStream( stream, aes.DecryptorTransform, CryptoStreamMode.Read)) { var result = ServiceIo.WcfBinaryCompressedDeserialize <T1>(cryptoStream); return(result); } }
public static void WcfBinaryCompressedSerializeEncrypted <T1>(String dataFileName, SecureStringOrArray password, T1 objectValue) { SetupDataName(dataFileName); String dataFilePath = GetDataFilePath(dataFileName); String tempDataFilePath = SwapExtension(dataFilePath, ".tmp"); using (var stream = File.Open(tempDataFilePath, FileMode.Create)) using (DisposableAes aes = CreateCrypto(password, dataFileName)) using (CryptoStream cryptoStream = new CryptoStream( stream, aes.EncryptorTransform, CryptoStreamMode.Write)) { ServiceIo.WcfBinaryCompressedSerialize(cryptoStream, objectValue); } SafeFileMove(dataFilePath, tempDataFilePath); }