2017-10-10 10 views
0

は、どのように私の代わりにUnicode文字列の部分を含んでいるようだ文字ベクトル()の下に署名(?例えばダイジェストから単一Unicode文字列を取得します:: HMAC

ように、単一のUnicode文字列を取得することができます
library(digest) 

    raw_key = 'QQrawkeyrawkeyrawkeyrawkey4=' 
    key = RCurl::base64Decode(raw_key) 
    url_test = 'example_url' 
    signature <- digest::hmac(key, url_test, algo = "sha1", raw = T) 

文字ベクトル

64 D9 CB 13 D3 F9 5cは0A 4cと1dと47のD2〜D5 9D AB 24 25 3F F3 20

を返します。しかし、私はそれが単一の文字列を返すようにしたいです'D \ XD9 \ XCB \ X13 \ XD3 \ xf9 \\ nLの\ x1dG \ XD2 \ XD5 \ x9d \ XAB $%\ XF3?'

背景:私が作るしようとしています

Rコードは、以下のPythonコードと同じように動作します(私はPythonにはあまり経験がありません)。

 raw_key = 'QQrawkeyrawkeyrawkeyrawkey4=' 
    key = base64.urlsafe_b64decode(raw_key) 
    url_test = 'example_url' 
    hmac.new(key, url_test.encode(), hashlib.sha1).digest() 

追加のコンテキスト私はプレミアムアカウントを使用して、Googleの距離行列APIの呼び出しのための署名を作成する文字列に必要があるということです。

+0

を使用し、文字列にこれを変換するにはR.で「生」のベクトルを返します、文字ベクトルを返すされていない動作しているようですが、多くの感謝! – ColinTea

答えて

1

digest::hmac(.., raw=TRUE)は実際に

rawToChar(signature) 
関連する問題