md5 liefert unterschiedliche Testsummen?

A

anonym

Gast
Hallo,

ich erzeuge in einem Projekt mit untenstehendem Code md5- Testsummen. Da ich mir unsicher war, ob das so funktioniert, gibt es da auch ein Testcase für. Der Code steht ebenfalls unten. Über das Versionsmanagmentsystem für das Projekt habe ich die Klasse auf einen anderen Rechner übertragen, von Windows nach Linux. Und plötzlich failed der Testcase. Offenbar wird unter Linux eine anderer md5- Hash erzeugt als unter Windows. Woran kann das liegen?

Und hier die beiden Codes:

StringHelper.java:
Java:
public static String md5(String phrase) throws NoSuchAlgorithmException{
		MessageDigest md = MessageDigest.getInstance("md5");
		md.reset();
		md.update(phrase.getBytes());
		byte[] pwBytes = md.digest();
		StringBuffer pwMd = new StringBuffer();
		for (int i = 0; i < pwBytes.length; i++) {
			String hex = Integer.toHexString(0xff & pwBytes[i]);
			if (hex.length() == 1)
				pwMd.append('0');
			pwMd.append(hex);
		}
		
		return pwMd.toString(); 
	}

und der Testcase:

Java:
@Test
	public void md5test() throws NoSuchAlgorithmException{
		String phrase="ABZ7oöusdvjo";
		
		String md5=StringHelper.md5(phrase); 
		
		Assert.assertEquals("54e53f918859c84242a6d686eaa5b409", md5); 
	}

Vielen Dank für eure Hilfe,
anonym
 

Der Müde Joe

Top Contributor
Das Problem ist das ö (oder allgemein Sonderzeichen)
Da:
getBytes: Encodes this {@code String} into a sequence of bytes using the platform's default charset

Bei
Win ISO-8859-1 (oder -15) und unter Linux UTF-8 ist
, ist das byte-Array verscheiden.
Wenns gleich sein soll getBytes("UTF-8") oder getBytes("ISO-8859-1") benutzen

EDIT:
>String immer mit UTF-8

intern UTF-16 ;-)

Ändert aber nix daran wie es als byte-Array enkodiert wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Argument Captor liefert NULL zurück Allgemeine Java-Themen 2
DiekleineRatte77 Schlüsselworte ANSI Konverter liefert UTF-8 Allgemeine Java-Themen 7
Arif Math.cos liefert komische Werte Allgemeine Java-Themen 8
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
A Datentypen Long.valueOf liefert kein "L" am Ende Allgemeine Java-Themen 3
T Variablenübergabe liefert immer null Allgemeine Java-Themen 13
C Object.equals() liefert falschen Wert? Allgemeine Java-Themen 14
Q GregorianCalendar Methode add liefert komische Werte Allgemeine Java-Themen 3
T Datentypen ArrayUtils.indexOf( ... ) liefert -1 obwohl Wert scheinbar enthalten ist Allgemeine Java-Themen 15
T SimpleDateFormat.parse() liefert falschen Tag Allgemeine Java-Themen 2
T java.uil.Random liefert negative Werte Allgemeine Java-Themen 2
I newInstance() liefert null zurück Allgemeine Java-Themen 4
Z new Date() liefert falsche Uhrzeit Allgemeine Java-Themen 12
S Newton-Verfahren liefert nur 1 Wert Allgemeine Java-Themen 3
J Liefert new URL(String) gecachte Webseiten? Allgemeine Java-Themen 15
S HashMap containsKey liefert immer false zurück Allgemeine Java-Themen 15
M Kugelschnittberechnung liefert falsche Werte Allgemeine Java-Themen 4
S FOP liefert fehlerhafte PDF Allgemeine Java-Themen 13
S instanceof liefert true, aber cast funktioniert nicht! Allgemeine Java-Themen 6
MasterEvil File.createTempFile liefert nur kurzen Pfad mit Tilde Allgemeine Java-Themen 3
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
N contains(.) liefert nicht erwartetes Ergebnis Allgemeine Java-Themen 3
H JNI: loadLibrary liefert UnsatisfiedLinkError Allgemeine Java-Themen 2
J Base64 Kodierung liefert korrupte Dateien Allgemeine Java-Themen 3
S ´Locale.getDefault() liefert en Allgemeine Java-Themen 10
C ImageIO die read-Methode liefert mir ein null- Wert zurück Allgemeine Java-Themen 10
S aFile.delete() liefert false - Gründe ? Allgemeine Java-Themen 2
OnDemand Unterschiedliche jar Dateien zusammen führen Allgemeine Java-Themen 8
rosima26 Unterschiedliche Werte bei return/print Allgemeine Java-Themen 12
M Warum gibt es Unterschiedliche Kommentar Zeichen Allgemeine Java-Themen 15
Y Java Methoden unterschiedliche Zahlenreihen Allgemeine Java-Themen 2
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
P Berechnungen: unterschiedliche Rundungsfehler bei Long? Allgemeine Java-Themen 3
M Zwei unterschiedliche JAR Dateien mit ANT erstellen Allgemeine Java-Themen 8
J unterschiedliche Dateiformate verarbeiten Allgemeine Java-Themen 7
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
A TXT File einlesen unterschiedliche Zeilenlänge Allgemeine Java-Themen 9
P Unterschiedliche Clone- Methoden Allgemeine Java-Themen 5
GianaSisters Klassen Unterschiedliche Zeiten bei DATE Allgemeine Java-Themen 6
G Input/Output URLDecoder.decode - Unterschiedliche Ergebnisse Windows / Linux Allgemeine Java-Themen 2
M Unterschiedliche Java-Versionen Allgemeine Java-Themen 5
B hashtable für unterschiedliche Typen - mit Generics Allgemeine Java-Themen 8
S Zugriff auf unterschiedliche JREs Allgemeine Java-Themen 7
G Abstrakte Fabrik für unterschiedliche Signaturen? Allgemeine Java-Themen 7
L unterschiedliche Größe beim serialisieren eines Objektes! Allgemeine Java-Themen 6
W Unvollständige und unterschiedliche CharSets Allgemeine Java-Themen 3
L Unterschiedliche mails (Daten aus JTable) schicken Allgemeine Java-Themen 14
U Transparent Buttons - unterschiedliche Java-Versionen Allgemeine Java-Themen 8
M unterschiedliche Betriebssysteme abfangen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben