在.netFrameWork中,有兩個(gè)命名空間可用到XML對(duì)稱加密:
1、System.Security.Cryptography:該命名空間提供加密服務(wù),可以支持多種加密算法。如DES(對(duì)稱密鑰算法)、DSA(非對(duì)稱密鑰算法)、MD5(哈希算法)、RSA(非對(duì)稱算法)。
2、using System.Security.Cryptography.Xml:該命名空間可以對(duì)XML的部分元素或根元素進(jìn)行加密。其程序核心步驟如下:
(1).生成對(duì)稱密鑰:Key=new RijndaelManaged();使用Value屬性對(duì)密鑰進(jìn)行賦值;
(2).選擇要加密的XML文件:可參考之前的XML處理程序;
(3).選擇要加密的元素,使之為XmlElement的一個(gè)實(shí)例elementNeedEncrypt;
(4).生成EncryptedXml類的對(duì)象,通過XmlElement的類的實(shí)例elementNeedEncrypt進(jìn)行加密;
(5).在EncryptedData類的對(duì)象里,容納進(jìn)需要加密的元素;
(6).用加密后的元素代替原XmlDocument類對(duì)象中的元素。