是否将多个XML元素加密为单个数据块?

时间:2019-02-04 15:37:05

标签: .net xml encryption

我正在通过Microsoft的How to: Decrypt XML Elements with Symmetric Keys工作。在他们的示例中,使用

<root>  
    <creditcard>  
        <number>19834209</number>  
        <expiry>02/02/2002</expiry>  
    </creditcard>  
</root> 

并通过调用

来加密<creditcard>元素
byte[] encryptedElement = eXml.EncryptData(elementToEncrypt, Key, false);

这将导致

<root>
  <EncryptedData ...
</root>

因此完整的<creditcard>元素已被加密的数据替换。

但是,在我的情况下,我具有以下格式的xml数据:

<root>
  <main>
    <sub1> ... </sub1>
    <sub2> ... </sub2>
    <sub3> ... </sub3>
  </main>
</root>

我想将<sub1><sub2><sub3>加密为单个加密数据块,但是保留<main>不变。我想结束的EG:

<root>
  <main>
    <EncryptedData ....
  </main>
<root>

是否可以在不首先重新排列xml的情况下执行此操作,还是需要将要加密的元素合并为一个虚拟元素并对其进行加密?例如,我必须临时构建此xml并加密<dummy>元素吗?

<root>
  <main>
    <dummy>
      <sub1> ... </sub1>
      <sub2> ... </sub2>
      <sub3> ... </sub3>
    </dummy>
  </main>
</root>

0 个答案:

没有答案