将 C# 编码的 SHA256 代码转换为 Javascript
Convert C# Encoding SHA256 code to Javascript
目前我有一个请求转换为以下 C# 代码以在 JS 环境中使用。这段代码是客户给的,我们需要在JS代码中使用
string pin = "1234";
string authtoken = "abcde12345";
var bPass = Encoding.Unicode.GetBytes(string.Format("{0}{1}", auth_token, pin));
using (HashAlgorithm ssp = System.Security.Cryptography.HashAlgorithm.Create("SHA256"))
{
var digest = ssp.ComputeHash(bPass);
return BitConverter.ToString(digest); //e.g. 7B-BB-85-7C-FF-0C-17-74-9F-C2-15-32-5B-CF-E8-16-62-7E-81-97-B0-5D-D5-36-76-B9-A9-F7-F1-F4-9D-CB
}
以上代码是合并authtoken和pin进行编码,创建SHA256哈希算法。
我对在 JS 中编码很陌生,所以我不确定在 JS 中执行上述操作的替代方法和正确方法是什么,以便我可以从 C# 函数获得相同的结果。
请为我提供一些链接和想法
谢谢
你可以看看CryptoJs。
取自他们的文档:
var hash = CryptoJS.SHA256("Message");
要将结果编码为 base64,请使用 enc:
var base64hash = hash.toString(CryptoJS.enc.Base64);
我设法解决了这个问题,并使用 CryptoJS post 在我的另一个 post 中编辑了完整代码,非常感谢 Daniel Nachtrub 的精彩建议。
这是 link:
C# SHA256 ComputeHash result different with CryptoJS SHA256 function
目前我有一个请求转换为以下 C# 代码以在 JS 环境中使用。这段代码是客户给的,我们需要在JS代码中使用
string pin = "1234";
string authtoken = "abcde12345";
var bPass = Encoding.Unicode.GetBytes(string.Format("{0}{1}", auth_token, pin));
using (HashAlgorithm ssp = System.Security.Cryptography.HashAlgorithm.Create("SHA256"))
{
var digest = ssp.ComputeHash(bPass);
return BitConverter.ToString(digest); //e.g. 7B-BB-85-7C-FF-0C-17-74-9F-C2-15-32-5B-CF-E8-16-62-7E-81-97-B0-5D-D5-36-76-B9-A9-F7-F1-F4-9D-CB
}
以上代码是合并authtoken和pin进行编码,创建SHA256哈希算法。
我对在 JS 中编码很陌生,所以我不确定在 JS 中执行上述操作的替代方法和正确方法是什么,以便我可以从 C# 函数获得相同的结果。
请为我提供一些链接和想法
谢谢
你可以看看CryptoJs。
取自他们的文档:
var hash = CryptoJS.SHA256("Message");
要将结果编码为 base64,请使用 enc:
var base64hash = hash.toString(CryptoJS.enc.Base64);
我设法解决了这个问题,并使用 CryptoJS post 在我的另一个 post 中编辑了完整代码,非常感谢 Daniel Nachtrub 的精彩建议。
这是 link: C# SHA256 ComputeHash result different with CryptoJS SHA256 function