当前位置: 主页 > 编程知识 > net编程 > ASP.NET如何实现XML的加密和解密的方法

ASP.NET如何实现XML的加密和解密的方法

时间:2010-5-7来源:站长资讯网 点击:

<EncryptedData>元素

仔细看看<EncryptedData>元素的树形结构,你会发现<EncryptedData>元素下分解出了很多子元素。其中<KeyInfo>元素与xml数字签名中的<KeyInfo>元素是相同的。

EncryptedData元素被包含在“http://www.w3.org/2001/04/xmlenc#”命名空间中。它是被加密数据的根元素。

EncryptionMethod元素指定加密数据的对称方法。做这件事需要使用一个包含了w3 url的算法属性 - “http://www.w3.org/2001/04/xmlenc#aes256-cbc”,它指出数据是用AES(Rijndael)以256k的密钥加密的。

KeyInfo元素来自xml数字签名,它保存着对称密钥的信息,除此之外该元素还能保存更多的信息。

KeyInfo元素下的EncryptedKey元素及其子元素包含着关于被保存的密钥的信息。

KeyInfo下的EncryptionMethod元素包含的非对称加密方法用来加密对称密钥。做这件事需要把一个算法属性设置给w3 url。例如:“http://www.w3.org/2001/04/xmlenc#rsa-1_5”说明使用了RSA非对称算法来加密对称密钥。

KeyName元素是一个标识符,用来发现密钥。稍后在我们编程的时候你将会发现它的重要性。

CipherData元素和CipherValue元素出现在EncryptedKey元素和EncryptedData元素下,它们包含着密码数据。事实上密码数据保存在CipherValue元素下的。EncryptedKey元素下保存的是被加密的密钥,EncryptedData元素下的CipherValue保存的是被加密的数据。

非对称xml加密步骤

xml加密的过程可以概括为以下五步:

1、选择xml文档中的一个元素(选择根元素的话将加密整个文档)

2、使用一个对称密钥加密元素

3、使用非对称加密来加密上面那个对称密钥(使用公开密钥)

4、创建一个EncryptedData元素,该元素下将包含被加密的数据和被加密的密钥

5、用加密后的元素替换掉初始元素。

这些步骤的大部分都可以使用.net 2.0中的类自动完成。

非对称xml解密步骤

xml解密的过程可以概括为以下四步:

1、在xml文档中选择一个EncryptedData元素

2、使用一个非对称密钥来解密密钥(使用私有密钥)

3、使用未加密的密钥来解密数据

4、把EncryptedData元素替换成未加密的元素

这些步骤的大部分都可以使用.net 2.0中的类自动完成。

命名空间

完成xml的加密,我们需要引入三个命名空间

System.Xml - 包含操作xml的类

System.Security.Cryptography - 包含生成加密密钥的类

System.Security.Cryptography.Xml - 包含完成加密任务的类

站长资讯网
.
分页: [1] [2] [3]
TAG: ASP.NET XML 加密 解密
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言