在java和SHA256中为字符串签名

在java和SHA256中为字符串签名,java,encryption,sha256,Java,Encryption,Sha256,我尝试了几天(!)用SHA256和密钥对以下字符串进行签名:“aaa”结果应该是(URL endcoded): KvojvzmPomugyyy3Cmijkyz2l3Usuznfh2f9LauxO3U%3D 有人能帮忙吗 GET sellercentral.amazon.com /gp/mws/registration/register.html AWSAccessKeyId=AKIAFJPPO5KLY6G4XO7Q&SignatureMethod=HmacSHA256&Signa

我尝试了几天(!)用SHA256和密钥对以下字符串进行签名:“aaa”结果应该是(URL endcoded): KvojvzmPomugyyy3Cmijkyz2l3Usuznfh2f9LauxO3U%3D

有人能帮忙吗

GET
sellercentral.amazon.com
/gp/mws/registration/register.html
AWSAccessKeyId=AKIAFJPPO5KLY6G4XO7Q&SignatureMethod=HmacSHA256&SignatureVersion=2&id=1014f5ad-c359-4e86-8e50-bb8f8e431a9e&returnPathAndParameters=%2Forders%2FlistRecentOrders.jsp%3FsessionId%3D123
这是我正在使用的代码,但我无法得到相同的结果:

private static final String QUERY = "GET\n"+
        "sellercentral.amazon.com\n"+
        "/gp/mws/registration/register.html\n"+
        "AWSAccessKeyId=AKIAFJPPO5KLY6G4XO7Q&SignatureMethod=HmacSHA256&SignatureVersion=2&id=1014f5ad-c359-4e86-8e50-bb8f8e431a9e&returnPathAndParameters=%2Forders%2FlistRecentOrders.jsp%3FsessionId%3D123";


    public static void main(String[] args) throws Exception {
         System.out.println(encode("aaa", QUERY));
    }

public static String encode(String key, String data) throws Exception {
      Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
      SecretKeySpec secret_key = new SecretKeySpec(key.getBytes(), "HmacSHA256");
      sha256_HMAC.init(secret_key);
      return Base64.encodeBase64String(sha256_HMAC.doFinal(data.getBytes()));
}

为了帮助其他人,如果他们获得了IRP(集成注册管道)的Amazon文档,请注意,他们签名查询字符串的示例结果是错误的

如果其他人获得了针对IRP(集成注册管道)的Amazon文档,请注意,他们签名查询字符串的示例结果是错误的

你确定吗?你不是想把它搞乱吗?其实我也这么想。查看您提供的链接,哈希似乎没有使用私钥。。Re:结果应该是。。。。你怎么知道结果应该是什么?如果你正在遵循一个例子,你能发布你正在使用的链接吗?显然我遵循的例子有错误的结果。这个例子实际上是从巨大的亚马逊发送的。我简直不敢相信他们的文档上会有这样一个错误的结果。你确定吗?你不是想把它搞乱吗?其实我也这么想。查看您提供的链接,哈希似乎没有使用私钥。。Re:结果应该是。。。。你怎么知道结果应该是什么?如果你正在遵循一个例子,你能发布你正在使用的链接吗?显然我遵循的例子有错误的结果。这个例子实际上是从巨大的亚马逊发送的。我简直不敢相信他们的文件上会有这样一个错误的结果。。当示例不起作用(不起作用)时,总是很好。可能有助于下一个家伙包括一个链接到您正在使用的示例,以及正确的结果。Joy。。当示例不起作用(不起作用)时,总是很好。可能有助于下一个家伙包括一个链接到你正在使用的例子,以及正确的结果。