0

私はPHPで書かれたようなものを持っています:

$signature = md5($tosigndata);

今、私はこれをC#で複製しようとしています:

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

しかし、それは私にまったく異なる結果をもたらします。PHP ハッシュに一致させるには、C# コードをどのように変更する必要がありますか?

PS。.ComputeHash()ええ、それが を返すことは知っていますbyte[]が、それは何も変更しません。デコードしてみましたが、まだ別の文字列です。

編集Tools.GetBytes()戻りますEncoding.UTF8.GetBytes(tosigndata);

4

1 に答える 1

1

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
于 2013-02-28T01:48:19.187 に答える