jjzjj

canonicalization

全部标签

html - 如何比较 Golang 中的 HTML 标记?

我正在尝试提出一个测试套件来检查HTML片段/文件在规范上是否相互等效。我惊讶地发现,如果我解析相同的字符串或文件,https://godoc.org/golang.org/x/net/html#Node正在比较不同。我错过了什么?希望这能说明问题:packagemainimport("fmt""strings""golang.org/x/net/html")funcmain(){s:=`testfoo`//s2:=`testfoo`doc,_:=html.Parse(strings.NewReader(s))doc2,_:=html.Parse(strings.NewReader(s

xml - (独占)XML 规范化是否忽略标签外的空格(缩进)?

当XML必须根据http://www.w3.org/TR/xml-exc-c14n/规范化时,下面的XML片段应该相等吗?(注意,.字符代表一个''空格)...data.和.........data...换句话说:ExclusiveCanonicalization会忽略空格吗?(或忽略缩进大小)或者,缩进应该保持不变吗?那么第一个呢?将的规范化版本(从秒的例子)变成.........data...或......data...或...data 最佳答案 不,它没有。参见spec.简而言之:和是不同的。ExclusiveC14n主要只是

C# 计算并验证 SEPA (XML) 付款文件的 SHA256 值

我和MarkusDreyer一样在努力解决同样的问题:C#CalculateSHA256valueforSEPA(XML)paymentfile根据DFÜ协议(protocol),我必须计算一个sha256哈希值:哈希值是使用包含的整个文档创建的,包括开始和结束标记。文档已根据CanonicalXML1.0版规范化。(http://www.w3.org/TR/2001/REC-xml-c14n-20010315).如果包含文档,则还必须根据主文档执行规范化。使用SHA-256作为哈希算法。这是一个有效的xml文件示例(从金融工具导出):2013-08-27T07:20:25Z33E57

java - 手动创建所有 Document 节点的 NodeList

我目前手动生成所有文档节点(按文档顺序)的NodeList。获取此NodeList的XPath表达式是//.|//@*|//namespace::*我第一次尝试手动遍历DOM并收集节点(NodeSet是委托(delegate)给List的原始NodeList实现):privatestaticvoidwalkRecursive(Nodecur,NodeSetnodes){nodes.add(cur);if(cur.hasAttributes()){NamedNodeMapattrs=cur.getAttributes();for(inti=0;i我会通过调用walkRecursive(d

java - 如何 "canonicalize"任意 xml(通过重新排序所有属性和元素)

我有一些代码可以从一组带有jaxb注释的类生成*.xsd文件:JAXBContextcontext=//buildfromsetofclassesfinalDOMResultresult=newDOMResult();//willholdxsdoutputcontext.generateSchema(newSchemaOutputResolver(){@OverridepublicResultcreateOutput(StringnamespaceUri,StringsuggestedFileName)throwsIOException{returnresult;}});Documen

c - How to convert <node/> to <node></node> with libxml (converting empty elements to start-end tag pair)

生成XML内容时,我得到一个空节点,我希望它是.(由于是c14n的正确形式,因此称为“将空元素转换为开始-结束标记对”的过程)我应该如何转换它?JimGarrison(谢谢)暗示有一种方法可以做到这一点,通过使用xmlBufferCreate、xmlSaveToBuffer、xmlSaveDoc、xmlSaveClose使用xmlSaveOption:XML_SAVE_NO_EMPTY 最佳答案 查看libxml2文档,特别是xmlSaveOption值XML_SAVE_NO_EMPTY

c# - 如何在 C# 中使用 XmlDsigC14NTransform 类

我正在尝试使用c#.netFramework2.0的System.Security.Cryptography.Xml.XMLDsigC14nTransform类规范化xml节点。该实例需要三种不同的输入类型,NodeList、Stream和XMLDocument。我尝试使用所有这些输入类型进行转换,但得到不同的结果。我真正想做的是规范化单个节点,但正如您在输出文件中看到的那样,输出不包含任何内部xml。非常感谢任何有关规范化XML节点的正确方法的建议。最好的,stringpath=@"D:\Test\xmlimza\sign.xml";XmlDocumentxDoc=newXmlDoc

windows - 为什么我的规范化路径的前缀是\\?\

我正在做一个个人项目,我试图通过规范化Rust中的相对路径来解决这个问题。但是,每当我这样做时,新路径都会以一个奇怪的\\?\序列为前缀。例如,像这样简单的东西:letp=fs::canonicalize(".").unwrap();println!("{}",p.display());将产生类似于以下输出的结果:\\?\C:\Users\[...]\rustprojects\projectname这不是一个特别的问题,因为我可以通过其他方式完成我正在尝试的事情。但是,这似乎是一种奇怪的行为,特别是如果您要以某种需要准确性的方式使用路径的字符串形式。为什么这个字符序列在结果前面,我该如

java /SPNEGO : Unwanted SPN canonicalization?

我目前正在尝试使用SPNEGOlibrary将Java客户端实现到受SPNEGO保护的Web服务来自SourceForge(服务器使用相同的库)。我无法让它成功验证,我的请求总是以HTTP/1.1500FailureunspecifiedatGSS-APIlevel(Mechanismlevel:Checksumfailed)这类似于我从具有不适当主机名的浏览器访问Web服务时遇到的症状,实际上Wireshark中的一些调试显示客户端随请求发送了错误的SPN-我发送到service-test.client.com,注册为SPN,在DNS中有A记录,但在Windows域中注册为serve

c# - 在 C# 中生成 XML 文档哈希

在C#中散列XML文档的最佳方法是什么?我想散列一个XML文档,以便我可以判断它是否在生成时被手动更改。我使用它不是为了安全——如果有人更改XML并更改散列以匹配也没有关系。例如,我将散列根的子节点并将散列存储为根的属性: 最佳答案 .NET有classes实现XMLdigitalsignaturespec.签名可以添加到原始XML文档中(即“封装签名”),也可以单独存储/传输。它可能有点矫枉过正,因为您不需要安全性,但它的优点是已经实现,并且是一个不依赖于语言或平台的标准。 关于c#-