MessageDigest Algorytm MD5 nie zwraca tego, czego oczekuję

Coś w mojej głowie mówi mi, że brakuje mi tutaj czegoś oczywistego.

Integruję istniejący projekt java z aplikacją innej firmy, która używa skrótu md5 klucza api do uwierzytelniania. To nie działa dla mnie i podczas debugowania zdałem sobie sprawę, że generowane hasze nie pasują do podanych przez nich przykładów. Znalazłem kilka stron internetowych, które tworzą skrypty MD5 z ciągów znaków, aby sprawdzić ich przykłady i o ile wiem, mylę się i mają rację.

na przykład wedługta strona internetowa, ciąg „hello” generuje skrót „5d41402abc4b2a76b9719d911017c592”. (FWIW Nic nie wiem o tej stronie, poza tym, że wydaje się, że poprawnie zawiera przykłady, które mam). Po uruchomieniu przez mój kod otrzymuję:

XUFAKrxLKna5cZ2REBfFkg ==

Oto prosta metoda, której używam do generowania skrótu / ciągu 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());
}

Użyłem bardzo podobnej metody, aby pomyślnie uwierzytelnić inny interfejs API przy użyciu algorytmu SHA1 w zeszłym tygodniu. Zastanawiam się, czy problem jest związany z org.apache.commons.net.util.Base64.encodeBase64String ... Każda pomoc jest bardzo mile widziane, jeśli tylko niektóre testy sprawdzają, czy bajtArray jest poprawny, ale przekonwertowany łańcuch jest nieprawidłowy .

questionAnswers(2)

yourAnswerToTheQuestion