2017-09-06 1 views
1

:다른 결과 및 원시 라이브러리 (동일한 입력) 반응 I 해시 이런 식으로 생성있어 닷넷

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)는 "

내가 ... 잘못

편집 뭘하는지 확실하지 :

최종 솔루션 (덕분에 마틴 Backasch) : 라이브러리는

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

답변

3

결과입니다부터 HEX. Base64

시도해보십시오. 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"); 
관련 문제