当前位置: 首页 > 知识库问答 >
问题:

Soap规范化转换

羊舌承颜
2023-03-14

用于创建摘要值的转换

<ds:Reference URI="#TS-f3c103e9-1897-43d8-8cf6-274bdb647678">
    <ds:Transforms>
       <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
          <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wsse soap"/>
       </ds:Transform>
   </ds:Transforms>
   <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
   <ds:DigestValue>1rjXQQWVMM5KBWY8uswUynk6PCk=</ds:DigestValue>
</ds:Reference>

引用的元素。

<wsu:Timestamp wsu:Id="TS-f3c103e9-1897-43d8-8cf6-274bdb647678">
  <wsu:Created>2016-02-24T15:32:12.693Z</wsu:Created>
  <wsu:Expires>2016-02-24T15:37:12.693Z</wsu:Expires>
</wsu:Timestamp>

在根节点上应用上述元素的命名空间

    null

共有1个答案

充小云
2023-03-14

您需要弄清楚java库或API是如何创建它发送给SHA1方法的规范化XML的。

使用Apache Commons Codec(https://Commons.Apache.org/proper/commons-codec/)并从Timestamp元素和Transform元素中包含的名称空间中猜测C14n的XML,我能够获得相同的摘要值:1RJXQQWVMM5KBWY8USWUYNK6PCK=

下面是我使用的代码:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;

public class Sha1Test {

    public static void main(String args[]) throws Exception {
        String data = "<wsu:Timestamp xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" wsu:Id=\"TS-f3c103e9-1897-43d8-8cf6-274bdb647678\"><wsu:Created>2016-02-24T15:32:12.693Z</wsu:Created><wsu:Expires>2016-02-24T15:37:12.693Z</wsu:Expires></wsu:Timestamp>";
        printShaDigest(data);
    }

    static void printShaDigest(String data) {
        System.out.println("data = " + data);
        System.out.println("sha1 = " + new String(Base64.encodeBase64(DigestUtils.sha1(data.getBytes()))));
    }

}
 类似资料:
  • 主要内容:范式的类型规范化是在数据库中组织数据的过程。 规范化用于最小化关系或关系集的冗余。 它还用于消除插入,更新和删除异常等不良特性。 规范化将较大的表分成较小的表,并使用关系链接它们。 普通表单用于减少数据库表中的冗余。 范式的类型 有四种类型的范式: 范式 描述说明 1NF 如果它包含原子值,则关系为第范式(1NF)。 2NF 如果它在1NF中,则关系将在2NF中,并且所有非关键属性完全依赖于主键。 3NF

  • 问题内容: 在Python中,是否存在标准化unicode字符串的标准方法,以使其仅包含可用于表示它的最简单的unicode实体? 我的意思是,一些东西,想翻译的顺序来? 查看问题出在哪里: 但现在: 当然,我可以遍历所有字符并进行手动替换等,但是效率不高,我敢肯定我会错过一半的特殊情况,并且会犯错误。 问题答案: 该模块提供一个功能,您要标准化为NFC格式: NFC或“普通形式组合”返回组成的字

  • 问题内容: 在Java中创建XML规范格式的最简单方法是什么?你有一些完成的代码吗?我在网上找到了几个链接,例如this,this和this,但我无法使其正常工作:/ 谢谢, 伊万 编辑:我使用了在那里提出的规范化器,但是得到了奇怪的结果。更精确地说,此方法不会删除元素之间的空格…这就是我得到的: 问题答案: Apache XML Security项目 的Canonicalizer类:

  • 非规范化数据不存储规范化的数据。换句话说非规范化意味着相同数据的多个拷贝同时存在。 上一章中,我们在帖子中非规范化评论总数,以避免每次都加载所有的评论。在数据建模意义上说这是冗余的,因为我们可以通过计数每个评论,随时计算出该总数(当不考虑运行速度)。 非规范化通常意味着额外的开发工作。在例子中,我们每次添加或删除评论时,还需要同时更新相关的帖子,以确保 commentsCount 字段保持准确。这

  • 我了解批次归一化有助于更快的训练,将激活转向单位高斯分布,从而解决梯度消失问题。批次规范行为在训练(使用每个批次的平均值/var)和测试时间(使用训练阶段的最终运行平均值/var)中的应用不同。 另一方面,实例归一化作为对比度归一化,如本文所述https://arxiv.org/abs/1607.08022。作者提到,输出样式化的图像不应依赖于输入内容图像的对比度,因此实例规范化有助于实现。 但是

  • 我可以在输入层之后使用批处理规范化层而不规范化我的数据吗?我可以期望得到类似的效果/性能吗? 在keras函数中,它应该是这样的: