我需要使用sha-256计算以下XML的头部和有效负载的校验和,并在尾部节点( checksum元素)将其写入相同的XML中。我已经在下面的链接中复制了源代码。
How to convert CSV to XML in Java using JAXB
我在网上搜索了一下,但是找不到我想要的解决方案。它们中的大多数是从物理位置读取xml文件并对其进行转换。但是,我不会将XML写在文件中(它仅供参考,不作任何其他用途)。我需要计算头部和有效负载的校验和,然后将其写在旅途中的预告片部分,并将其发送到Solace主题。
如何使用sha-256计算XML的头部和主体的校验和数据?
<?xml version='1.0' encoding='UTF-8'?>
<canonMessage xmlns="http://www.test.com/canon/v1">
<header>
<metadata>
<domain>
<name>party</name>
<schemaVersion>1.0</schemaVersion>
<subdomain>
<name>employee</name>
</subdomain>
</domain>
<identifier>
<id idScheme="HRSystem/lanId">SHawking</id>
</identifier>
<source>HRSystem</source>
<messageId>84ec00d0-2a33-11eb-ae59-0050569a5c1d</messageId>
</metadata>
</header>
<payload>
<employee xmlns="http://www.test.com/party/employee/v1">
<employeeId>79498</employeeId>
<lanId>SHawking</lanId>
<name>
<lastName>Hawking</lastName>
<firstName>Steve</firstName>
</name>
<businessTitle>Client Manager</businessTitle>
<status>A</status>
<groupName>Management</groupName>
<departmentName>Legal</departmentName>
<costCentre>RUSYDFGLEG</costCentre>
<officeLocation>Texas</officeLocation>
<region>US</region>
</employee>
</payload>
<auditRecords>
<sourceAuditRecord>
<system>HRSystem</system>
<timestamp>
<created>2020-11-19T17:50:32.84+11:00</created>
<sent>2020-11-19T17:50:32.84+11:00</sent>
</timestamp>
</sourceAuditRecord>
</auditRecords>
<trailer>
<checksum type="sha-256">f60875e4905b62ed188ca61aee75fcfe354ae57fba4cabc8aba093d86a001569</checksum>
</trailer>
</canonMessage>发布于 2020-11-25 10:55:09
XML数字签名
Java XML Digital Signature API是用于生成和验证XML Signatures的标准Java API。
请参阅
接口由定义。
接口XMLSignature允许您签名和验证签名。
https://stackoverflow.com/questions/64997446
复制相似问题