2013-02-28 1 views
0

C#을 대 PHP :데이터 인코딩 내가 PHP로 작성된 그런 일이

MD5.Create().ComputeHash(Tools.GetBytes(tosigndata)) 

를하지만 나에게 완전히 다른 결과를 제공 : 이제

$signature = md5($tosigndata); 

을, 나는 C#에서이를 복제하는 것을 시도하고있다 . PHP 해시와 일치시키기 위해 C# 코드를 어떻게 변경해야합니까?

추신. 그래, 나는 .ComputeHash()byte[]을 반환한다는 것을 안다. 그러나 그것은 아무 것도 바뀌지 않는다. 나는 그것을 해독하려고 시도했지만 여전히 다른 문자열이다.

편집 : Tools.GetBytes() 반환

+0

당신이 문자열 틀렸다. 내 대답을 시험해보십시오. –

답변

1

Encoding.UTF8.GetBytes(tosigndata);는 C#에서 이것을 시도 : 당신이 변환하는

byte[] asciiBytes = ASCIIEncoding.ASCII.GetBytes(tosigndata); // tosigndata is your string variable 
byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes); 
string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower(); 
// hashString contains your hash data similar to php md5 
관련 문제