のmd5ハッシュを比較すると同時にアンドロイドとc#の両方でmd-5ハッシングを行っています。しかし、両方の結果は同じ入力に対して同じでなければならない。両方の言語で行われる方法に違いはありますか?アンドロイド(java)とc#
どちらの場合も出力が異なります。ここでは、MD5の計算のためのC#コードは次のとおりです。XUFAKrxLKna5cZ2REBfFkgの==
://this method hashes the values sent to it using MD5
public static String hashwithmd5(String toHashMD5)
{
byte[] keyArray;
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(toHashMD5));
hashmd5.Clear();
return Convert.ToBase64String(keyArray, 0, keyArray.Length);
}
、ここでは、AndroidでのMD5のコードはC#でMD5の結果ははBouncyCastle
public byte[] Hashing(String toHash) throws Exception{
byte[] hashBytes = toHash.getBytes("UTF-8");
EditText et = (EditText) findViewById(R.id.entry);
org.bouncycastle.crypto.digests.MD5Digest digest = new org.bouncycastle.crypto.digests.MD5Digest();
digest.reset();
digest.update(hashBytes, 0, hashBytes.length);
int length = digest.getDigestSize();
byte[] md5 = new byte[length];
digest.doFinal(md5, 0);
et.setText(md5.toString());
return md5;
}
を使用しています
アンドロイドのmd5の結果は次のとおりです。[B @ 4053cf40
誰かがこれらの計算の2つで何が違うのか教えてください。同じo/pを得るにはどうすればいいですか? – cris
バイト配列を比較するとどうなりますか?彼らは同じですか? – techiServices
@crisは解決策を得ることができますか? – CoronaPintu