我有以下代码片段在 C# 中生成 HMACSHA1 签名。下面的代码是什么
Encoding encoding = new UTF8Encoding();
HMACSHA1 hmac = new HMACSHA1(encoding.GetBytes(SecretKey.ToCharArray()));
StringBuilder data = new StringBuilder();
data.Append(Access);
data.Append(Id);
data.Append(Entity);
data.Append(Username);
string signature Convert.ToBase64String(hmac.ComputeHash(encoding.GetBytes(data.ToString().ToCharArray())));
现在我想把它翻译成红宝石,比如:
Base64.encode64(OpenSSL::HMAC.hexdigest(OpenSSL::Digest::Digest.new('sha1'), secret_key, data)
但是,对于相同的输入,结果并不相等。他们在内部使用不同的哈希算法吗?
谢谢