頭の後ろにある何かが、ここで明らかな何かが欠けていると私に言っています。
既存のJavaプロジェクトを、認証にAPIキーのmd5ハッシュを使用するサードパーティのAPIと統合しています。それは私にとってはうまくいきません、そしてデバッグ中に私が生成しているハッシュが彼らが提供した例と一致しないことに気づきました。例を確認するために文字列からMD5ハッシュを作成するWebサイトをいくつか見つけました。私が知る限り、私は間違っていて、正しいと言えます。
たとえば、このWebサイトによると、文字列「hello」は「5d41402abc4b2a76b9719d911017c592」のハッシュを生成します。(FWIW私が持っている例を正しくハッシュしているように見えることを除いて、このWebサイトについては何も知りません)。コードを実行すると、次のようになります。
XUFAKrxLKna5cZ2REBfFkg ==
これが、md5ハッシュ/文字列を生成するために使用している簡単な方法です。
private String md5(String md5Me) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(md5Me.getBytes("UTF-8"));
return Base64.encodeBase64String(md.digest());
}
先週、SHA1アルゴリズムを使用して別のAPIを正常に認証するために、非常によく似た方法を使用しました。問題がorg.apache.commons.net.util.Base64.encodeBase64Stringに関連しているかどうか疑問に思っています...byteArrayが正しいかどうかを確認するためのいくつかのテストだけで、変換された文字列が間違っている場合は、助けていただければ幸いです。 。