2016-03-02 68 views
-1

目前我有一个转换为以下C#代码以在JS环境中使用的请求。这段代码是由客户端提供的,我们需要在JS代码将C#编码SHA256代码转换为Javascript

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#函数获得相同的结果。

请给我提供一些链接和想法做这个

感谢

回答

0

你可以看看CryptoJs

从自己的文件摘自:

var hash = CryptoJS.SHA256("Message");

为了编码结果为base64,使用ENC:

var base64hash = hash.toString(CryptoJS.enc.Base64); 
+1

在GitHub上https://github.com/brix/crypto-js –

+0

谢谢 - 我已经更新的链接指向github上。 –