日期:2014-05-18 浏览次数:21320 次
private XmlDocument EncryptXML(XmlDocument doc)
{
try
{
XmlElement xmlElemt;
xmlElemt = doc.DocumentElement;
CspParameters csp = new CspParameters();
csp.KeyContainerName = "abcde123";
csp.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
EncryptedXml xmlEnc = new EncryptedXml(doc);
xmlEnc.AddKeyNameMapping("asyncKey", rsa);
EncryptedData encXml = xmlEnc.Encrypt(xmlElemt, "asyncKey");
EncryptedXml.ReplaceElement(xmlElemt, encXml, false);
}
catch (Exception ex)
{
throw ex;
}
return doc;
}
private XmlDocument DecryptXML(string filename)
{
XmlDocument doc = new XmlDocument();
try
{
doc.Load(filename);//加载加密后的xml文件
CspParameters csp = new CspParameters();
csp.KeyContainerName = "abcde123";
csp.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
EncryptedXml encXml = new EncryptedXml(doc);
encXml.AddKeyNameMapping("asyncKey", rsa);
encXml.DecryptDocument();
}
catch (Exception ex)
{
throw ex;
}
return doc;
}