2016-03-02 66 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上。 –