小编Win*_*Win的帖子

如何在 C# 中生成 HMAC 签名

我正在尝试与第 3 方 API 集成,该 API 需要对我的请求正文和一些变量进行加密,并使用 HMAC 签名进行授权。他们为我提供了示例 JavaScript 代码:

function generateHMACSignature(partnerID, partnerSecret,
httpMethod, requestURL, contentType, requestBody, timestamp) {
var requestPath = getPath(requestURL);
var queryString = getQueryString(requestURL);
if (httpMethod == 'GET' || !requestBody) {
requestBody = '';
}
var hashedPayload =
CryptoJS.enc.Base64.stringify(CryptoJS.SHA256(requestBody));
var requestData = [[httpMethod, contentType, timestamp,
requestPath, hashedPayload].join('\n'), '\n'].join('');
var hmacDigest =
CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(requestData,
partnerSecret));
return hmacDigest;
}

function getPath(url) {
var pathRegex = /.+?\:\/\/.+?(\/.+?)(?:#|\?|$)/;
var result = url.match(pathRegex);
if(!result){
pathRegex = /\/.*/;
result = url.match(pathRegex);
return result …
Run Code Online (Sandbox Code Playgroud)

javascript c# encryption

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

encryption ×1

javascript ×1