代码之家  ›  专栏  ›  技术社区  ›  Philip

如何用PHP和RSA/Triple-DES加密XML文档中的字段

  •  1
  • Philip  · 技术社区  · 15 年前

    我正在为南非的学校开发一个应用程序,它需要以XML格式向国家IT机构提交数据,以便进行统计处理。我目前正在使用PHP的 DOMDocument 班级。

    http://www.w3.org/TR/xmldsig-core

    规范文档还说“XML文件的加密可以在整个文件或某些元素上执行”,我不太确定哪一个更容易,在现阶段,因此对这两个问题的回答就足够了!

    我假设要求加密XML标记的内容,而不是名称(如 http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character

    我很抱歉,如果这似乎含糊不清。这是目前所有的信息,我在机构的联系人很高兴地说,(VisualBasic.NET)代码样本应该解释一切。。。如果您想检查这个代码示例,欢迎您查看下面ZIP文件中的Word文档,从第213页开始。 http://www.sita.co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip

    如果有人能帮我或给我指出正确的方向,我将不胜感激。

    4 回复  |  直到 15 年前
        1
  •  0
  •   ZZ Coder    15 年前

    您应该使用XMLSec加密来加密XML文件。下面的库应该为您处理所有的细节,

    http://code.google.com/p/xmlseclibs/

        2
  •  0
  •   Artefacto    15 年前

    看到了吗 openssl_encrypt 对称加密和 openssl_public_encrypt / openssl_private_decrypt 对于非对称加密。

        3
  •  0
  •   Eric Petroelje    15 年前

    听起来您可以加密整个文档,也可以只加密某些“敏感”标记的内容。加密整个文档可能是最简单的方法。

    至于RSA/3DES,你几乎可以肯定是对的。您可以用3DES加密文档,然后用它们的RSA公钥加密3DES密钥。

    所以,似乎您需要做的只是生成文档,压缩它,然后用3DES加密压缩的结果。

        4
  •  0
  •   Adrian    15 年前