如何使用JavaScript加密XML?

时间:2015-04-15 11:48:34

标签: javascript xml encryption

是否可以使用JavaScript加密XML(在浏览器中,而不是nodejs)?如果是的话,我怎么能这样做?有没有特定的JavaScript库?

我提供了一个用C#实现的加密示例:

示例XML:

<?xml version="1.0" encoding="utf-8"?>
<Method id="D67EFAEF-BA51-4B07-B08A-38295C9853B4">
    <TokenID>DBEF4FC7-9213-4DE3-BD49-8BB76BE3F891</TokenID>
    <ID>8B430943-0CE5-404F-A920-5D224BCD6A07</ID>
</Method>

使用C#中的RijndaelManaged和EncryptedXml对加密的XML进行采样:

 <?xml version="1.0" encoding="utf-8"?>
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
        <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <KeyName>shared-key</KeyName>
        </KeyInfo>
        <CipherData>
            <CipherValue>knP+Mg40Ls/qau+yBgNp/pKP39TKWTYR5+2d+1ZjiP0hNwPzvK+qAzzxpyJHajA6FFiZbVzlEYNZn8E0Y55wvSthTRfx09oaVN400ADQrGP4ZfY2HD4XbWLCkA1skHggXro/eBA4YwnH0m9chmtTi7T+dawjTdPZ9RD9GMG70ew=</CipherValue>
        </CipherData>
    </EncryptedKey>
</KeyInfo>
<CipherData>
    <CipherValue>kMdYGUUludy5q3oMLGJCYeGhfqNYrSg/Rsuhrmp/vWyMuaKbEIeJuNngaNq3fcCwEoPhnuN0nkdALgifQFqGLUYkDLnlaHhOBfP0l7c1xOtYeq2tshaONY1r6cOVG6fnsYUGCTFIkM1+G3igEHJbQ3LpyJcn5OoxesgVetjeAnu1QL6F08sGGFkk8f6m8BrdsNSRD56PccfzKEXgWBO87Z8swjxr9caynaE1a9Zd8e8=</CipherValue>
</CipherData>
</EncryptedData>

1 个答案:

答案 0 :(得分:1)

在我的混合应用中,我使用Google的cryptoJS进行加密离线存储。我使用JSON,我需要在加密/解密之前进行字符串化/解析,我想这也可以以某种方式为XML做。