2017-09-06 17 views
1

私はハッシュをこのように生成しています:異なる結果

Convert.ToBase64String(SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes("123456"))); 

結果は次のとおりです。 "jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI ="

import { sha256 } from 'react-native-sha256'; 
return await sha256('123456'); 

を、結果は次のとおりです:

は今、私はこの libraryと反応するネイティブアプリでハッシュを生成しています「8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c 92" は

私は...間違って

EDITやってるのかわからない:

最終溶液(感謝マーティンBackasch):ライブラリが

var inputBytes = Encoding.UTF8.GetBytes("123456"); 
var hashBytes = SHA256.Create().ComputeHash(inputBytes); 
return BitConverter.ToString(hashBytes).Replace("-", string.Empty).ToLower(); 

答えて

3

結果ですから、 HEXBase64

お試しくださいhereに変換する必要があります。

入力:

"8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92" 

出力:

"jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI=" 

あなたはmicrosoftによって、またはクイックスニペットとして与えられた例を用いてBase64からHEXにあなたのC#の結果を変換することができます。

var yourResult = Convert.ToBase64String(SHA256.Create() 
               .ComputeHash(Encoding.UTF8 
                    .GetBytes("123456"))); 

var apiResult = "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"; 

var yourHexResult = BitConverter.ToString(Convert.FromBase64String(yourResult)) 
           .Replace("-", string.Empty) 
           .ToLower(); 

Debug.Assert(yourHexResult == apiResult, "yourHexResult != apiResult");