我有许多值必须组合成 SHA256 哈希才能传递到 Web 服务。使用 Encoding.ASCII.GetBytes(allparametershere) 将这些值组合成字节数组,然后通过 myHashMethod.ComputeHash(allParameterByteArray) 哈希为 SHA256。由于我必须将此值添加到请求标头,因此它必须作为字符串传递到请求标头。
3rd 方系统的要求规定它必须是 64 个字符的十六进制格式的字符串。我过去使用过 Convert.Base64String ,但我认为这不是他们正在寻找的,因为我只会在传递这样的字符串时出现错误。有任何想法吗?
Thanks!
这将为您提供大写十六进制的结果,将 X 更改为 x 以减少大小写。
将 SHA256Result 更改为 SHA256 哈希结果。
byte[] SHA256Result;
StringBuilder stringBuilder = new StringBuilder();
foreach(byte b in SHA256Result)
stringBuilder.AppendFormat("{0:X2}", b);
string hashString = stringBuilder.ToString();
生成的字符串是哈希字符串,长度应为 64,请记住 SHA256 结果为 32 字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)