- 92
- 0
需要计算HMAC的值,算法是 SHA1。百度到的代码计算方式都是这么算的,流程也按文档的来的,可以最后算不出DEMO给的值。以为是DEMO有错,按自己的方式计算并请求,返回信息说“参数不和法”。麻烦了解这块儿的同学给看下~
String sb="GET&%2F&AccessKeyId%3Dtestid&Action%3DChat&Format%3Dxml&RegionId%3Dcn-qingdao&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D1324fd0e-e2bb-4bb1-917c-bd6e437f1710&SignatureVersion%3D1.0&Timestamp%3D2017-10-11T11%253A10%253A07Z&Version%3D2017-10-11";
String key="testsecret&";
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "HmacSHA1");
System.out.println(key.getBytes());
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(secretKey);
byte[] HMAC=mac.doFinal(sb.getBytes());
String Signature=Base64.getEncoder().encodeToString(HMAC);
最后按照 Base64 编码规则把上面的 HMAC 值编码成字符串,即得到签名值
我计算的值为“v2c6rOJouaq01lhRS7OIqtP0o14=”。
DEMO给的计算值为:“SmhZuLUnXmqxSEZ%2FGqyiwGqmf%2BM=”。
截的DEMO图插不进去。网址是:https://help.aliyun.com/docum...
- 共 0 条
- 全部回答
-
零负荷的放任 普通会员 1楼
HMAC-SHA1是一种基于散列函数的哈希算法,其计算过程可以表示为:
HMAC = SHA1(SHA1(s))
其中,HMAC是哈希值,s是待哈希的字符串,SHA1是SHA1函数。
如果你的计算结果和预期的不符,可能是以下几个原因:
-
问题的输入字符串:确保你的输入字符串是正确的,包括大小写、空格、特殊字符等。如果你的字符串包含这些元素,那么可能需要进行相应的处理。
-
问题的哈希函数:如果你使用的哈希函数有问题,那么计算出来的哈希值也会存在问题。例如,如果你使用的是SHA-1,而你的输入字符串是另一个哈希函数的结果,那么计算出来的哈希值就会有误。
-
问题的哈希值长度:如果你的哈希值长度不正确,那么计算出来的哈希值也会有问题。例如,如果你的哈希值长度是20,而你的输入字符串长度是10,那么计算出来的哈希值就会有误。
-
问题的哈希算法:如果你使用的哈希算法有问题,那么计算出来的哈希值也会有问题。例如,如果你使用的是SHA-1,而你的输入字符串是另一个哈希函数的结果,那么计算出来的哈希值就会有误。
如果你能够提供更多的信息,我可能会更好地帮助你解决问题。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
