- Forum-Beiträge: 15
04.06.2014, 00:57:24 via Website
04.06.2014 00:57:24 via Website
Hi ich habe mir auf der AVM Seite die Dokumentation für HTTP und SessionID runtergeladen und durch gelesen.
Aber alle meine Versuche ein Login in meiner Test App hin zu bekommen ist bist jetzt fehl geschlagen.
Entweder verstehe ich die Doku nicht oder der Fehler liegt wo anders.
Der MD5-Hash wird über die Bytefolge der UTF-16LE-Codierung dieses
Strings gebildet (ohne BOM und ohne abschließende 0-Bytes).
Aus Kompatibilitätsgründen muss für jedes Zeichen, dessen Unicode Codepoint > 255 ist, die
Codierung des "."-Zeichens benutzt werden (0x2e 0x00 in UTF-16LE). Dies betrifft also alle
Zeichen, die nicht in ISO-8859-1 dargestellt werden können, z. B. das Euro-Zeichen.
Abschließend ein Beispiel mit deutschem Umlaut:
Die Challenge
<challenge> = "1234567z"
kombiniert mit dem Kennwort
<klartextpassword> = "äbc"
ergibt den Wert
<response> = "1234567z-9e224a41eeefa284df7bb0f26c2913e2"
Hier der letzte Stand meiner Response Funktion:
der Import den verwende sollte hier noch stehen:
import org.apache.commons.codec.binary.Base64;
der Rest ist Android Boardmittel.
public String getResponse(String challenge, String kennwort) {
byte[] text = (challenge + "-" + password).getBytes(Charset.forName("UTF-16LE");
byte[] digest = null;
try {
digest = MessageDigest.getInstance("md5".digest(text);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
byte[] testbyte = Base64.encodeBase64(digest);
String teststring = new String(testbyte);
return challenge + "-" + teststring;
}
Bin mir bei dem Base64 aber nicht sicher, da ich das leider immer wieder gerne vertausche.
Wäre super wenn mir dabei jemand helfen könnte damit ich das Login hin bekomme.
MFG
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.