2017-02-09 13 views
0

Microsoftが提供するC#およびNode.jsコードスニペットの代わりに、Rを使用してREST APIコール用のAzure documentDB authヘッダーを生成しようとしています。 SHA256を作る。この場合Azure DocumentDB auth header in R

var crypto = require("crypto"); 
var key = new Buffer(masterKey, "base64"); 
var text = "helloworld"; 
var body = new Buffer(text, "utf8"); 
var signature = crypto.createHmac("sha256", key).update(body).digest("base64"); 

、MASTERKEYは "abcdefghijklmnopqrsTUVWXyz19284745 ==" であると想定することができる

:私は、具体的のNode.jsからRにこのコードを変換する問題に実行しているよ

Rのマスターキーのハッシュは、その結果をbase64でエンコーディングしても同じ結果を返しません。同じものを生成するためにどのような具体的な手順を講じるべきですか?バッファオブジェクトまたは同等物は、私が理解できるものからRに存在していないようです。

答えて

0

Rに次のコードスニペットを考えてみてください:

library(digest) 
library(base64enc) 

masterKey <- "your master key here" 
key <- base64decode(masterKey) 
text <- "helloworld" 
body <- enc2utf8(text) 
signature <- base64encode(hmac(key, body, algo = "sha256", raw = T)) 
print(signature) 
関連する問題