将 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