Hex --> Dezimal --> Zeichen

Status
Nicht offen für weitere Antworten.
L

Louis2

Gast
Hallo,

also umgekehrt habe ich es geschafft, nun möchte ich aber wieder von Hex auf Zeichen kommen (um ein Password zu entschlüsseln). Sollte eigentlich leicht sein, wenn man den anderen Weg gemacht hat, aber irgendwie bekomme ich es nicht hin. Mein problem ist vor allem die Zeichenreihenfolge so zu teilen, damit am Ende wieder Zeichen kommen (also 1 Buchstabe).

Von Zeichen zu Hex: (String password=muskat97)
Code:
for (int i=0; i<password.length();i++)
{
    char c = password.charAt(i);
    int ascii = ((int) c) & 255;
    String hexString = Integer.toHexString(ascii).toUpperCase();
                        
    finalString = finalString + hexString;
}

Beispiel: muskat97 -> 6D75736B61743937

Und nun umgekehrt geht es nicht: (String password=6D75736B61743937) (Hab es auch mit toString probiert, das password muss ich aber erst in int umwandeln...)
Code:
for (int i=0; i<password.length();i++)
{
    int asciidez = Integer.valueOf(password, 16);
}

Was mache ich falsch ?
 

Mag1c

Top Contributor
Hi,

versuchs mal hiermit:

Code:
for (int i=0; i<password.length();i+=2) {
    char c = (char) Integer.valueOf(password.substring(i, i+2), 16).intValue();
    System.out.print(c);
}

Gruß
Mag1c
 

byte

Top Contributor
hat sich erledigt zwecks denkfehler

edit: @Mag1c - überprüf mal die abbruchbedingung der schleife. so wirds ne out of bounds exception geben.
 

Mag1c

Top Contributor
Hi,

@byto:
wieso auffüllen ? Das ist ein bitweises UND und kein ODER. Damit werden die oderen 8 Bit des Characters auf 0 gesetzt, die unteren 8 bleiben übrig (also der ASCII-Code, vorausgesetzt man verwendet keine gesonderten Unicode-Zeichen).

EDIT @byto: nö, das ist getesteter Code ! Setzt nur voraus, daß der String eine gerade Anzahl an Zeichen hat.

Gruß
Mag1c
 
L

Louis2

Gast
@Mag1c: Danke, so klappt es.
Also keine out of bounds exception :wink:
EDIT: Naja die HexZahl ist immer eine gerade Zahl. Also kein Problem :)
 

byte

Top Contributor
ja ok, denkfehler no.2 meinerseits. exception nur bei ungrader stringlänge, was in diesem fall auszuschließen is.

ich geh dann lieber mal ... ;)
 

Mag1c

Top Contributor
jo,

vielleicht sollte man die Abbruchbedingung trotzdem ändern in:

for (int i=0; i+1<password.length();i+=2) {

dann knallts nicht gleich bei ner ungeraden Anzahl, es wird einfach das letzte
Zeichen ignoriert. Wir wollen ja robust programmieren, nicht wahr ;)

Gruß
Mag1c
 

messi

Bekanntes Mitglied
Mag1c hat gesagt.:
dann knallts nicht gleich bei ner ungeraden Anzahl, es wird einfach das letzte
Zeichen ignoriert. Wir wollen ja robust programmieren, nicht wahr ;)
Genau! Besser wäre aber eine Exception. Ansonsten macht Integer.parseInt(String,int) die Sache noch etwas eleganter.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
K Datei als HEX oder dezimal gem. ASCII einlesen Allgemeine Java-Themen 4
S brauche dringend help bei einem projekt (Römisch-dezimal) Allgemeine Java-Themen 3
P Binär oder Dezimal kodieren? Allgemeine Java-Themen 7
R Von Dezimal zu Binär Allgemeine Java-Themen 6
G Umwandlung Hex nach Dezimal Allgemeine Java-Themen 3
H Dezimal nach ansi kodieren Allgemeine Java-Themen 2
S Hex und Dezimal Umwandlung? Allgemeine Java-Themen 3
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
S Zeichen | in regex Allgemeine Java-Themen 8
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
M Checkstyle 100 Zeichen pro Zeile Allgemeine Java-Themen 11
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
M Warum gibt es Unterschiedliche Kommentar Zeichen Allgemeine Java-Themen 15
N Überprüfung ob ein bestimmtes Zeichen <1 mal vorkommt Allgemeine Java-Themen 2
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
G Übermittlung zusätzlicher ASCII-Zeichen bei Übertragung von Dateiinhalt mit Xmodem - JAVA Allgemeine Java-Themen 9
R Wie bekomme ich das Zeichen 'digit' an vorderster Stelle Allgemeine Java-Themen 4
S [Regex] Nur diese Zeichen beachten Allgemeine Java-Themen 1
Bluedaishi Zeile um zeichen erweitern Allgemeine Java-Themen 9
N Datei Zeilenweise Einlesen, Versteckte Zeichen Allgemeine Java-Themen 5
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
S Java Editor Bekomme bei der Code-Vervollständigung die Zeichen &#8203; Allgemeine Java-Themen 3
E Compiler-Fehler Unicode Zeichen einlesen Allgemeine Java-Themen 1
U Variablen Stringarrays mit wenig verschiedenen Zeichen effizienter speichern Allgemeine Java-Themen 10
T xls-Datei per Apache Commons CsvParser einlesen UTF-8 Zeichen russische Zeichen Allgemeine Java-Themen 2
AssELAss String jeweils nach x Zeichen Zeilenumbruch Allgemeine Java-Themen 1
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
B In Java String ein + Zeichen Allgemeine Java-Themen 4
AssELAss Zeilenumbruch immer nach bestimmtem Zeichen Allgemeine Java-Themen 1
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
V Tastendruck für UTF-8 Zeichen emulieren Allgemeine Java-Themen 4
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
C Hex Zeichen ersetzen durch leer Zeichen Allgemeine Java-Themen 5
R Besondere Zeichen in Dateinamen Allgemeine Java-Themen 4
B Alt-Griechisch Zeichen in Dateien Allgemeine Java-Themen 2
G AES Verschlüsselung nur bis 63 Zeichen Länge Allgemeine Java-Themen 2
M Fehlende Zeichen beim Drucken mit PDFBox Allgemeine Java-Themen 10
J String nur erste Zeichen vergleichen Allgemeine Java-Themen 6
C Variablen $-Zeichen in String ersetzen Allgemeine Java-Themen 3
S String Zeichen für Zeichen vergleichen Allgemeine Java-Themen 4
L Problem bei ausführbarer jar Datei mit Unicode-Zeichen Allgemeine Java-Themen 4
S String in Double - letztes Zeichen fehlt Allgemeine Java-Themen 4
A Erstes Zeichen im String "toUpperCase"n Allgemeine Java-Themen 11
A Umwandlung von Text/Zeichen in Polynome Allgemeine Java-Themen 8
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
K String: alle X Zeichen Zeilenumbruch Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
Zettelkasten Aus String bestimmtes Zeichen herausfinden Allgemeine Java-Themen 19
M Asterisk in String ("Egal-Zeichen") Allgemeine Java-Themen 4
V Chinesische Zeichen Escapen Allgemeine Java-Themen 4
I Teilweise falsche Darstellung jap. Zeichen im JEditorPane mit RTFEditorKit aus RTF-Datei Allgemeine Java-Themen 5
D Datei mit allen Ascii Zeichen Allgemeine Java-Themen 2
R Unsichtbare Zeichen Allgemeine Java-Themen 7
U Namen von Klassen haben $-Zeichen Allgemeine Java-Themen 5
P RegEx und $-Zeichen als Literal Allgemeine Java-Themen 5
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
C Strings zwischen 2 Zeichen auslesen Allgemeine Java-Themen 7
A Zeichen beim Eingeben in ein DOS-Fenster nicht anzeigen? Allgemeine Java-Themen 3
F Hexcode von ASCII Zeichen erhalten Allgemeine Java-Themen 2
J Mit Scanner-Klasse eine Datei zeilenweise einlesen und nur bestimmte Zeichen abfragen Allgemeine Java-Themen 11
V Dateien mit &-Zeichen im Namen öffnen Allgemeine Java-Themen 13
N String in einzelne Zeichen zerlegen Allgemeine Java-Themen 8
M Problem mit Zeichen aus einer Datei auslesen Allgemeine Java-Themen 2
T Shapes vergleichen? Zeichen erkennen? Allgemeine Java-Themen 7
G String.replaceall - mehrere Zeichen durch eines ersetzen Allgemeine Java-Themen 5
G Tschechische Zeichen in XML-Antwort Allgemeine Java-Themen 22
J Encoding und Gewinnung von Zeichen aus der Hexa-Darstellung Allgemeine Java-Themen 6
N Xor Warum kommt Flasches Zeichen in Java Allgemeine Java-Themen 36
S Stringarray splitten an unbekanntem Zeichen Allgemeine Java-Themen 7
A Dezimalzahlen: Komma-Zeichen Allgemeine Java-Themen 4
T Einzelnes Zeichen von der Tastatur einlesen, aber ohne Enter Allgemeine Java-Themen 4
S Was bedeutet dieser Zeichen Allgemeine Java-Themen 4
E Wie Zeichen eingeben mit Klasse Scanner? Allgemeine Java-Themen 5
S Zeichen, dass Programm noch läuft Allgemeine Java-Themen 3
M Anwendung nur einmal starten / Zeichen in String zählen Allgemeine Java-Themen 7
T [Regex] Zeichen ausschließen Allgemeine Java-Themen 8
Luma Unicode Steuerzeichen von druckbaren Zeichen trennen Allgemeine Java-Themen 10
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
G String parsen und Problem mit escaped zeichen Allgemeine Java-Themen 4
Z Letztes zeichen eines strings löschen Allgemeine Java-Themen 3
A bestimmte Zeichen aus einem String auslesen Allgemeine Java-Themen 2
L unicode-zeichen in ein txt-File schreiben Allgemeine Java-Themen 3
J Problem mit nichtlateinischen Zeichen Allgemeine Java-Themen 2
B String + Zeilenumbruch nach X-Zeichen Allgemeine Java-Themen 4
M Nach 4 Zeichen Fokus ändern Allgemeine Java-Themen 2
oliver1974 Wie ResourceBundles mit Unicode Zeichen korrekt einlesen? Allgemeine Java-Themen 4
E Alarm ausgeben (ASCII Zeichen 7) über Lautsprecher Allgemeine Java-Themen 11
G Alle Zeichen des Alphabets ausgeben Allgemeine Java-Themen 4
K String-Objekt mit zig tausend Zeichen Allgemeine Java-Themen 12
T Muster/Zeichen/Texterkennung auf einem Image Allgemeine Java-Themen 9
Y Zeichen verschiedenfarbig in einer JTextPane darstellen Allgemeine Java-Themen 17
P Regulärer Ausdruck um sich wiederholende Zeichen zu finden. Allgemeine Java-Themen 9
O Split methode tut bei Zeichen "\", "\\" Allgemeine Java-Themen 7
H Unicode Darstellung in Java, spezielles Zeichen gesucht Allgemeine Java-Themen 4
S Unicode-Zeichen erstellen/ Kodierung Allgemeine Java-Themen 4
J RegEx: "wenn zeichen folgen ersetze x mit y, sonst mit Allgemeine Java-Themen 2
Z Zeichen/char in einer Datei löschen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben