Я пытаюсь сгенерировать подпись для запроса OAuth. Вот как я это делаю:OAuth сгенерировать подпись
String toHash = URLEncoder.encode("POST&https://" + url + "&oauth_callback=oob&oauth_consumer_key=" + key + "&oauth_signature_method=HMAC-SHA1&oauth_timestamp=" + timeStamp + "&oauth_nonce=" + timeStamp);
String hash = computeHmac(toHash, secret);
...
public String computeHmac(String baseString, String key)
{
Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec secret = new SecretKeySpec(key.getBytes(), mac.getAlgorithm());
mac.init(secret);
byte[] digest = mac.doFinal(baseString.getBytes());
return new String(Base64.encodeBase64(digest));
}
Но сервер говорит мне, что подпись неверна. Что я делаю неправильно? Пиз помощь ...
Спасибо за вашу помощь. Комбинированные инструкции по интернету по-прежнему крайне неясны в отношении того, что нормализуется, что кодируется и в каком порядке. Например; почему некоторые из символов «&» закодированы, а некоторые нет ... Оайт, я бы плюнул на тебя последним дыханием ... –