MD5-Hash bei Java und C# geben nicht das selbe Ergebnis?

Hallo zusammen,

ich versuche in den letzten Tage mich mit der Entwickleroberfläche der FritzBox auseinander zu setzen. Leider scheitete ich am Session ID Login.

Der Login funktioniert über eine Challenge (String) den mir die FritzBox generiert und dem Passwort der FritzBox. Wenn ich den Login richtig verstanden habe geht er wie folgt:

Schritt 1: Challenge erhalten via fritz.box/login_sid.lua

Schritt 2: Alle Zeichen im Passwort der FritzBox, welche nicht in ISO-8859-1  
           anzeigbar sind (einen CodePoint von über 255 besitzen) mit einem "."  
           ersetzen

Schritt 3: Einen MD5-Hash im Format von 32 Hexzeichen mit Kleinbuchstaben 
           generieren aus dem String %Challenge%-%Passwort% (%Challenge% ist die
           aus dem Schritt 1, %Passwort% ist das Passwort der FritzBox aus dem 
           Schritt 2)

Schritt 4: Das Ergebnis zum Anmelden nutzen: 
           http://fritz.box/login_sid.lua?response=%Challenge%-%Ergebnis% 
           (%Ergebnis% ist der 
           MD5-Hash aus Schritt 3)

So: Was ist nun mein Problem?

Ich möchte diesen MD5-Hash generieren. Ich habe mir bereits Tutorials angeschaut, wie die von baeldung.com und auch einen String als Ergebnis bekommen. Das Problem ist aber, dass der Hash falsch ist.

Also habe ich mir den Beispiel C#-Code auf der FritzBox Webseite angeschaut und ausprobiert. Das Ergebnis ist ein ganz anderer Hash. Wie kommt das zu Stande?

Damit man mich besser versteht, habe ich hier meinen Java Code und den Code aus C#.

Input bei allen:

51cbb71a-Test

Java (Möglichkeit 1): https://pastebin.com/vpzA8mr9 (um Platz zu sparen als Link)

Output:

DigestTest: 3e2a82112b721922d21a2e62e12f02212b02142c12692a82

Java (Möglichkeit 2):

StringBuilder builder = new StringBuilder();
for (byte b : DigestUtils.md5(input)) {
    builder.append(byteToHex(b));
}
System.out.println("BuilderDigest: " + builder.toString());

Output:

BuilderDigest: 3ea811b7192d1ae6e1f021b014c169a8

Java (Möglichkeit 3):

String md5Hex = DigestUtils.md5Hex(input); //API: commons-codec-1.15.jar
System.out.println("Hash: " + md5Hex);

Output:

Hash: 3ea811b7192d1ae6e1f021b014c169a8

C#

static void Main(string[] args) {
  try {
    MD5 md5Hasher = MD5.Create();
    byte[] encoded = Encoding.Unicode.GetBytes("51cbb71a-Test");
    byte[] data = md5Hasher.ComputeHash(encoded);
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < data.Length; i++) {
      builder.Append(data[i].ToString("x2"));
    }
    Console.WriteLine(builder.ToString());
  } catch(IndexOutOfRangeException exception) {
    Console.WriteLine("null");
  }
}

Output:

0e9af10abdb7cd7119a85967272e3bc3

Wieso kommt da was anderes raus und wie kann ich das nun auch in Java umsetzen? (Der C#-Code gibt die richtige Lösung!)

Danke schon einmal im Voraus!

Links die Helfen können:

  • https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/Session-ID_deutsch_13Nov18.pdf
  • https://www.baeldung.com/java-md5 (etwas alt)
  • https://www.youtube.com/watch?v=hW2s03abGaI
  • https://codedocu.de/...
Computer, programmieren, Java, C Sharp, Encoding, Informatik, Verschlüsselung
Verdacht auf Geldwäsche & Finanzamt?

Hey Leute

ich hab seit langem nichts mehr gefragt allerdings hab ich heute besuch vom Finanzamt & der Staatsanwaltschaft bzw. Polizei bekommen. Der Grund ist Verdacht auf Geldwäsche.

Ich weiß nicht wieso so viele Leute Auge machen aber irgendeiner meinte wohl eine Meldung zu machen.

Es geht konkret darum das ich meine Wirtschaftlichen Verhätnisse nicht nachweisen kann und trotzdem "wohlhabend" allein mit 19 lebe.

Außerdem führen die weiter aus das ich ein aufälliges Verhalten habe, weil ich kein Bankkonto habe keine Kreditkarte keine Verträge außer die nötig sind z.B kein Handyvertrag somit keine Handynummer ... und noch zur Schule gehe und trotzdem Objekte in vier stelligen Zahlenraum besitze.

Ich hab ihn erzählt das ich alles mit BTC kaufe und das diese mir donatet werden über eine eigene Seite mit jeweiles einer BTC Adresse pro Spende.

Als sie mich aufforderten Ihnen das zu zeigen hab ich mich geweigert und die Polizei meinte mein Laptop einzukassieren.

Ich hab Ihn zwar vollverschlüsselt und hardware sowie software mäßige Sicherheitsmaßnahmen vor fremdzugriffen eingestellt.

BTC sind solange ich sie nicht in EUR umwandel noch ein irrmaterielles Wirtschaftsgut also nicht steurpflichtig und wenn ich Gegenstände in BTC kaufe gilt das doch auch oder ?

Kommen Sie in mein Laptop rein ?

Was kann ich jetzt tun ?

LG

Internet, Steuern, Geld, Wirtschaft, Polizei, Recht, Hausdurchsuchung, Steuererklärung, digital, Finanzamt, Geldwäsche, Informatik, Polizeikontrolle, Staatsanwaltschaft, Verschlüsselung, Zahlungsmittel, Bitcoin
Bitlocker mit Smartcard auf Windows 10?

Ich habe mir einen Smartcard-Reader und blanko Smartcards gekauft und möchte diese nun zur Authentifizierung mit Bitlocker verwenden. Dies stellt sich jedoch als schwieriger heraus als gedacht. Das einfache Einstecken und bei Bitlocker auf "Smartcard hinzufügen" klicken funktioniert nicht. Dabei kommt die Fehlermeldung "Smartcard wurde nicht erkannt...". Bei Recherche ist mir was von Middleware untergekommen. Benötige ich dafür also zusätzliche Software oder liegt der Fehler woanders? (zB falsche Karten oder möglicherweise defektes Gerät).

Ist es immernoch so, dass der Computer Mitglied einer Domäne sein muss oder geht es mittlerweile auch anders? Und selbst wenn sollte die Smartcard doch trotzdem erkannt werden oder?

Der aktuellste Herstellertreiber für den Reader wurde bereits installiert. Installierte Windows Version ist 10 Pro.

Die verwendeten Produkte sind folgende:

Cardreader: https://www.amazon.de/AKasa-AK-ICR-09-Smart-Kartenleser-schwarz/dp/B006CQA8I0/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=akasa+id&qid=1566559949&s=gateway&sr=8-1

Smartcards: https://www.amazon.de/gp/product/B0749J9Y6W/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

Ich weiß dass es in anderen Foren schon viele Diskussionen über dieses Thema gibt, diese stellen jedoch nicht die Informationen bereit, die ich suche.

Vielen Dank schon im Vorraus

Computer, Verschlüsselung, smartcard, Bitlocker, Windows 10

Meistgelesene Beiträge zum Thema Verschlüsselung