[英]Convert C# Hash Code to PHP for REST API Connection
以下是用於連接到API的文檔摘錄。 我需要使用PHP建立此連接,但是我要簡短了。 公鑰和私鑰的示例如下:
下面是帶有C#示例的文檔。 從我所讀的內容來看,我的問題似乎是C#和PHP中的哈希運算之間的區別,但是我似乎找不到正確的組合。 我的每一次嘗試都會導致來自“無效的用戶名或密碼” API的響應。 我從hash_hmac('sha256',$ data,$ privateKey)返回的密鑰是小寫的,看起來與示例不一樣。 我了解UTF8和Base64編碼要求,但是散列讓我感到困惑。 任何幫助是極大的贊賞。 摘錄如下:
授權令牌
授權令牌由{Rep Public Key}:{Request Signature}(顏色編碼為強調)組成。 公鑰標識發出請求的用戶。 請求簽名是一個安全的,系統生成的字符串,類似於密碼,由關於請求的幾條信息組成,並使用HMAC SHA-256和代表的私鑰進行了加密。 收到請求后,API會嘗試匹配簽名。
創建授權令牌
請按照以下步驟加密請求簽名和rep公鑰:
.NET C#中的加密代碼
var encoding = new System.Text.UTF8Encoding();
var keyByte = encoding.GetBytes(secret);
var messageBytes = encoding.GetBytes(message);
using (var hmacsha256 = new HMACSHA256(keyByte))
{
var hashmessage = hmacsha256.ComputeHash(messageBytes);
return Convert.ToBase64String(hashmessage);
}
解決。 第三步應該有第二步。 您也必須對Base64編碼簽名字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.