暗号化は44である2つのjsファイルまたはいくつかのオンラインサイトでは、64ビットの暗号化されているC#でC#SHA256、SHA256暗号化と暗号化jsの後に、同じ暗号化アルゴリズムのJSとC#の暗号化結果を選択する方法を変更します。

sha265に付属しているC#のクラスライブラリは、バイト[]配列を返します。

この配列の長さは32であり、JS sha265 64であり、各バイトは、直接2進文字列に変換されます。

暗号化は、C#44で後にアレイに文字列をbase64エンコードであろうためです。

C#が直接16進文字列に対応するバイトに変換しjsが同じです。

さらに、STRバイトに変換するには、[]異なるアレイ場合エンコーディング、異なるSHAは、一般JS UTF8です。

 

  public static string SHA256(string str)

         {
             //如果str有中文,不同Encoding的sha是不同的!!
             byte [] SHA256Data = Encoding.UTF8.GetBytes(str);
            
             SHA256Managed Sha256 =  new  SHA256Managed();
             byte []  by  = Sha256.ComputeHash(SHA256Data);
             
             return  BitConverter.ToString( by ).Replace( "-" "" ).ToLower();  //64
             //return Convert.ToBase64String(by);                         //44
         }
 
         static  void  Main( string [] args)
         {
             string  s =  "hello world" ;    
//sha265=b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
             string  sha = SHA256(s);
             Console.WriteLine( "{0}\n{1} \nLength: {2}" ,s, sha, sha.Length);
         }
私は個人的に使用します!あなたはQを追加することができるかどうかはわからない:961823316を

 

おすすめ

転載: www.cnblogs.com/Freedom0221/p/11455685.html