public static String DecryptCsvFile(Stream file, CryptoProvider crypto) { StringBuilder sb = new StringBuilder(); using (StreamReader reader = new StreamReader(file)) { String line; while ((line = reader.ReadLine()) != null) { char[] delims = { ',' }; String[] values = line.Split(delims); bool firstValue = true; foreach (String value in values) { String rawValue = value.Trim('"', ' '); String newValue = null; crypto.TryDecryptOrValue(rawValue, out newValue); if (firstValue) { firstValue = false; } else { sb.Append(","); } sb.Append(newValue); } sb.AppendLine(String.Empty); } reader.Close(); } return(sb.ToString()); }
private static void DecryptXmlNode(XmlNode node, CryptoProvider crypto) { if (node.NodeType == XmlNodeType.Text || node.NodeType == XmlNodeType.Attribute) { String newValue = null; crypto.TryDecryptOrValue(node.Value, out newValue); if (node.Value != newValue) { node.Value = newValue; } } else { foreach (XmlNode child in node.ChildNodes) { DecryptXmlNode(child, crypto); } foreach (XmlNode attribute in node.Attributes) { DecryptXmlNode(attribute, crypto); } } }