| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
Diskussion: MD5-Implementierung in Java? im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Moin :) Wollte mal schauen, wie man eine Hash-Funktion in Java programmiert - also wie das technisch auszusehen hat. ...
![]() |
| | #1 (permalink) |
| Registriert seit: 30.05.06 ![]() Likes: 0 | Anzeige Moin :) Wollte mal schauen, wie man eine Hash-Funktion in Java programmiert - also wie das technisch auszusehen hat. Gegeben sind ja: - Plaintext p - MD5-Algorithmus (rfc-1321) Nun stellt sich mir die Frage, wie ich den Plaintext einlesen muss. Was ich will, ist doch eigentlich ein Bit-Strom, so wie ich das verstehe. Der Algorithmus setzt ja vorraus, dass ich den Strom in Worte (32-bit, 4 Byte) unterteile, bevor ich den eigentlich Hash-Wert berechnen kann. Meine Fragen sind daher: 1.) Verstehe ich das so richtig? 2.) Wie komme ich nun von einem gegebenen Plaintext p zum Bit-Strom (vorzugsweise in Java)? *EDIT* Kleiner Nachtrag: 1.) Wenn ich eine "normale" Text-Datei für den Plaintext benutze und diesen einlese, kann ich davon ausgehen, dass ich in der Regel einen UTF-8 habe? 2.) Angenommen also, es wäre UTF-8 - verstehe ich den Aufbau richtig, dass - 2 Bytes Strom = 1 Zeichen Klartext sind? - ich diese 2 Bytes als Hex-Werte im Hex-Editor ansehen kann? - nur Werte von >128 von Bedeutung sind (also nur 1 der 2 Byte das Zeichen "selbst" beherbergt?) Wenn ich also einen Byte-Strom einlesen könnte (was ja möglich ist in Java) - mal am Beispiel verdeutlichen: Code: int zeichen[] = new int[2]; int b = inputstream.read(); zeichen[0] = b; int b = inputstream.read(); zeichen[1] = b; Wäre also Code: zeichen[0]=0 zeichen[1]=110 Was wiederum dazu führen würde, dass ich ein Bit-Strom für "n" von Code: BitStrom=0000 0000 0110 1110 - Zwei dieser Bit-Ströme ergäben also ein "Wort"? *EDIT_2* Wenn ich den Algorithmus "allgemeingültig" machen will, so müsste er in der Lage sein, fast alle verfügbaren Zeichen der Welt (fängt ja bei uns mit Umlauten an) einlesen und verarbeiten zu können, oder? Demnach müsste ich davon ausgehen, dass ein WORT = 1 Zeichen Klartext abbildet - also UTF-8 nutzen mit 4 Byte pro Zeichen? Leider habe ich im RFC und sonstwo keine Angaben zum Zeichensatz gefunden. Aber in UTF-8 kann ja eine Menge abgebildet werden. --> Wird da jetzt ein Schuh draus? ;) wkr, stauder |
| | |
| | #2 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | schau mal hier: Java Insel Da ist das glaube ich erklärt und auch eine Impl in Java als Beispiel. Ist zwar mit nem File, lässt sich aber umschreiben ... mfg serow |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 30.05.06 ![]() Likes: 0 | Serow, erstmal danke - aber da wird der Algorithmus nur angewandt (aus der Java-API). Was ich gerne machen würde ist den Algorithmus (nur zum eigenen Verständnis) selbst zu implementieren. |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | Oh, tut mit Leid, da hab ich dich falsch verstanden. In diesem Fall kann ich dir leider nicht weiterhelfen. |
| | |
| | #5 (permalink) | ||
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, Zitat:
Des Weiteren musst du dem MD5 Algorithmus eh bytes übergeben, was eine Umwandlung von Bytes in UTF8 und dann wieder in Bytes schwachsinnig macht, Zitat:
Sonst schau mal hier: http://de.wikipedia.org/wiki/Md5 Eigentlich sehr gut erklärt | ||
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Implementierung von Hash Algos | AceKiller73 | Cryptography & Encryption | 5 | 09.09.07 11:50 |
| [Python] Hilfe bei Implementierung eines Prim-Alogrithmus [erledigt] | Darillian | Code Kitchen | 2 | 09.06.07 14:38 |
| Java implementierung Algorithmen | Wipika | Code Kitchen | 2 | 27.06.06 11:54 |
| JAVA! gibts soziale java fachleute? | yakuza | Code Kitchen | 4 | 03.05.04 00:53 |
| KOBOL - COBOL-Implementierung für Linux und Windows | Tec | News & Ankündigungen | 1 | 28.05.02 13:31 |