【发布时间】:2016-06-19 23:51:58
【问题描述】:
我正在创建一个 SHA 签名以将视频上传到 JWPlayer 平台。我也可以使用特殊字符创建 SHA 签名,但是当我使用签名上传视频时,JWPlayer 平台站点的响应是“签名期间出现 Unicode 错误”,但前提是我使用特殊字符。如果我不包含特殊字符,它工作正常。这是如何创建签名https://developer.jwplayer.com/jw-platform/reference/v1/authentication.html的链接 我有以下代码来创建签名,其中标题可以包含特殊字符:
var titleParam = $"title={title}";
var key = $"{apiFormat}&{apiKey}&{apiNonce}&{apiTimestamp}&{titleParam}{secretKey}";
StringBuilder sb;
using (var sha1 = new SHA1Managed())
{
var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(key));
sb = new StringBuilder(hash.Length * 2);
foreach (byte b in hash)
{
sb.Append(b.ToString("x2"));
}
}
密钥也是根据用户输入构建的,因此需要支持特殊字符。我也尝试过对密钥进行 url 编码,但没有运气。
【问题讨论】:
标签: c# encryption encoding jwplayer