C# コードがあり、それを Java で書き直そうとしています。
しかし、Java コードで期待した結果が得られません。私は何を間違っていますか?
C# コード:
string response = pwd + challenge;
System.Security.Cryptography.SHA1CryptoServiceProvider SHA1 =
new System.Security.Cryptography.SHA1CryptoServiceProvider();
SHA1.Initialize();
byte[] hash = SHA1.ComputeHash(System.Text.Encoding.Default.GetBytes(response));
System.Text.StringBuilder builder = new System.Text.StringBuilder();
foreach (byte b in hash)
builder.Append(b.ToString("x2"));
Java コード:
MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
byte[] digest = messageDigest.digest((PASSWORD + challenge).getBytes());
String result = new BigInteger(1, digest).toString(16);