0

REST API 呼び出しの署名を作成するための ruby​​ メソッドがあります。

private static String sign_data(String str, String api_secret, bool cgi_escape)
{
String r = Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha1'),   api_secret, str)).replace('\n','');
cgi_escape ?  CGI.escape(r) : r
return r
}

同等の頂点コードを取得するのに役立つ人はいますか? 以下の頂点コードを書いてみましたが、成功しませんでした。

private static String sign_data(String str, String api_secret, bool cgi_escape) {
String r =EncodingUtil.base64Encode((OpenSSL::Digest::SHA1.new, api_secret, str)).replace('\n',''); rを返します。
}

4

1 に答える 1

1

修正済み: 以下の解決策を使用してください

private static String sign_data(String str, String api_secret)

{

String algorithmName = 'HmacSHA1';
Blob hmacData = Crypto.generateMac(algorithmName, Blob.valueOf(str),      Blob.valueOf(api_secret));
return EncodingUtil.base64Encode(hmacData);

}

于 2013-02-28T10:53:22.813 に答える