§ ITPOW >> 文档 >> C#

C# 与 Java 接口的事项-hmac_sha1

作者:vkvi 来源:ITPOW(原创) 日期:2022-4-22

hmac_sha1 也没有什么特别的,只是有些接口提供商在讲解他们的签名原理时,没有说清楚,导致最终在编码成 Base64 时,出现不一致的结论。

using (HMACSHA1 hmac = new HMACSHA1())
{
	hmac.Key = Encoding.UTF8.GetBytes(privateKey);
	byte[] resultBuffer = hmac.ComputeHash(Encoding.UTF8.GetBytes(text));
	return resultBuffer;
}

注意

如上我们直接返回的是 byte[],而不是  Encoding.UTF8.GetString(byte[]),因为 HMACSHA1 结果在 GetString 后是乱码,所以不要 GetString,而是直接返回 byte[],外面再做 Base64 处理

相关文章