Java和PHP中的HMAC验证

问题描述

我正在尝试为称为Signifyd的解决方案编写集成。他们的API documentation提供了使用Java验证Webhook的不完整示例。但是,我不是Java开发人员,因此无法使其正常工作。

我正在使用JDK 1.8.0_66并在https://www.jdoodle.com/online-java-compiler上对其进行测试。这是我尝试的验证代码: https://gist.github.com/summersab/b0a08d4de5ef20c79c2e62b5ff6548a8

我一直在以下测试Webhook有效负载上测试此代码:

{"analysisUrl":"https:\/\/signifyd.com\/v2\/cases\/1\/analysis","entriesUrl":"https:\/\/signifyd.com\/v2\/cases\/1\/entries","notesUrl":"https:\/\/signifyd.com\/v2\/cases\/1\/notes","orderUrl":"https:\/\/signifyd.com\/v2\/cases\/1\/order","guaranteeEligible":false,"status":"DISMISSED","uuid":"709b9107-eda0-4cdd-bdac-a82f51a8a3f3","headline":"John Smith","reviewDisposition":null,"associatedTeam":{"teamName":"anyTeam","teamId":26,"getAutoDismiss":true,"getTeamDismissalDays":2},"orderId":"19418","orderDate":"2013-06-17T06:20:47-0700","orderAmount":365.99,"createdAt":"2013-11-05T14:23:26-0800","updatedAt":"2013-11-05T14:23:26-0800","adjustedScore":262.66666666667,"investigationId":1,"score":262.66666666667,"caseId":1,"guaranteeDisposition":"APPROVED"}

其测试有效负载的加密密钥是ABCDE。我在JSON中的转义字符方面一直遇到问题。按原样使用字符串时出现错误,并且仅转义引号而不是正斜杠时,HMAC哈希不匹配。

我已经要求他们提供一个可行的例子,但是无论出于何种原因,他们的支持者都不愿意这样做。有人可以帮忙吗?

侧面说明:我的最终目标是在PHP中实现此目标。我以为直到最近,我都可以使用以下代码进行操作: https://gist.github.com/summersab/a5bb15e5522ee931055f74b2b7b2a630

如果我可以使其在Java中运行,则可以将其与PHP中的结果进行比较,希望可以使它运行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...