admin 管理员组文章数量: 1086019
2024年4月19日发(作者:领域驱动设计ddd)
// 要在工程里添加 ty 的引用集
using System;
using c;
using ;
using ;
using ; //XML Namespace
using graphy;
using ;//xml encryption namespace
using ; //Application namespace
namespace myown
{
class encryption_and_dcryption
{
//xml加密方法
private void Encrypt(XmlDocument Doc, string ElementName, SymmetricAlgorithm
Key)
{
XmlElement elementToEncrypt = mentsByTagName(ElementName)[0]
as XmlElement;
EncryptedXml eXml = new EncryptedXml();
byte[] encryptedElement = tData(elementToEncrypt, Key, false);//最
后一个参数不能为空????
EncryptedData edElement = new EncryptedData();
= ElementUrl;
string encryptionMethod = null;
if (Key is TripleDES)
{
encryptionMethod = TripleDESUrl;
}
else if (Key is DES)
{
encryptionMethod = DESUrl;
}
if (Key is Rijndael)
{
switch (e)
{
case 128:
encryptionMethod = AES128Url;
break;
case 192:
encryptionMethod = AES192Url;
break;
case 256:
encryptionMethod = AES256Url;
break;
}
}
tionMethod = new EncryptionMethod(encryptionMethod);
Value = encryptedElement;
eElement(elementToEncrypt, edElement, false);
}
//xml解密方法
private void Decrypt(XmlDocument Doc, SymmetricAlgorithm Alg)
{
XmlElement encryptedElement = mentsByTagName("EncryptedData")[0]
as XmlElement;
EncryptedData edElement = new EncryptedData();
l(encryptedElement);
EncryptedXml exml = new EncryptedXml();
byte[] rgbOutput = tData(edElement, Alg);
eData(encryptedElement, rgbOutput);
}
//对相应xml文件 加密
public void fileEncryption(string presentuser)
{
RijndaelManaged key = new RijndaelManaged();
//设置密钥:key为32位=数字或字母16个=汉字8个
byte[] byteKey = es("11111");//every load
get time as key
= byteKey;
XmlDocument xmlDoc = new XmlDocument();
veWhitespace = true;
(pPath + "" + presentuser + ".xml");//加载要加密
的XML文件
Encrypt(xmlDoc, "Save", key);//需要加密的节点
if (key != null)
{
();
}
(pPath + "en" + presentuser + ".xml");//生成加密
后的XML文件
//("OK");
}
//对相应xml文件 解密
public void fileDcryption(string presentuser)
{
RijndaelManaged key = new RijndaelManaged();
//设置密钥:key为32位=数字或字母16个=汉字8个
byte[] byteKey = es("11111");
= byteKey;
XmlDocument xmlDoc = new XmlDocument();
veWhitespace = true;
(pPath + "en" + presentuser + ".xml");//加载要解
密的XML文件
Decrypt(xmlDoc, key);
if (key != null)
{
();
}
(pPath + "" + presentuser + ".xml");//生成解密后
的XML文件
// ("OK");
}
}
}
版权声明:本文标题:c# xml文件加密解密 复制即用 所有细节都有 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713476529a636572.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论