byte[] in String

Status
Nicht offen für weitere Antworten.

krihue

Mitglied
Hallo,
welche Methode ist die richtige, um ein byte[] in ein String zu konvertieren. Bei der Konvertierung mit new String(byte[]) verändern sich manchmal einige bytes (Bsp.: "Passwort 2" geht und bei "Passwort 3" wird das 5te byte von -122 auf 63 geändert). Was ist das? Ich werde noch blöd... :autsch:

Bin für jede Hilfe imens dankbar!!!
 

norman

Top Contributor
wie kommst du denn auf die bytes im byte[]?
bei String#getBytes() kannst du auch ein charset mit angeben...
 

krihue

Mitglied
wenn ich die mir im debug-modus anschaue bzw. es bytes[] auf der konsole ausgeben lasse. eins habe ich noch vergessen: ich verschlüssele mit einem Cipher und Blowfish vorher den String. auf jeden fall wird mit new String(bytes[]) mein String zerschossen...
 

norman

Top Contributor
hm. ich denke ich verstehe nicht ganz was du meinst. bei mir gibt es keine probleme bei der umwandlung..
Code:
public class Testklasse {
	
	public static void main(String[] args) {	
		
		String p2 = "Passwort 2";
		String p3 = "Passwort 3";
		byte[] b2 = p2.getBytes();
		byte[] b3 = p3.getBytes();
		
		for (int i=0; i<b2.length; i++) {
			System.out.println(p2.charAt(i) + "\t" + b2[i] + "\t" + (char)b2[i] + 
					"\t\t###\t\t" +	p3.charAt(i) + "\t" + b3[i] + "\t" + (char)b3[i]);
		}
		
		System.out.println("\n" + new String(b2) + "\n" + new String(b3));
	
	}	
}
 

krihue

Mitglied
fast. bitte mal das testen:

Code:
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

public class Testklasse {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Automatisch erstellter Methoden-Stub
		
		String p2 = "Passwort 2";
      String p3 = "Passwort 3";
      
      String ergp2 = verschluesseln(p2, "irgendwas");
      String ergp3 = verschluesseln(p3, "irgendwas");
		
	}

	private static String verschluesseln(String verschluesselungsString, String passwortkey) {
		byte verschluesselt[] = null;

		if (passwortkey.length() > 8) {
			passwortkey = passwortkey.substring(0, 8);
		}

		try {
			byte[] pwdbytes = passwortkey.getBytes();
			Key k = new SecretKeySpec(pwdbytes, "Blowfish");
			Cipher cipher = Cipher.getInstance("Blowfish");
			cipher.init(Cipher.ENCRYPT_MODE, k);
			verschluesselt = cipher.doFinal(verschluesselungsString.getBytes());

			for (int i=0; i<verschluesselt.length; i++){
				System.out.print(verschluesselt[i] + " \t ");
			}
			System.out.println("");
			
			String s = new String(verschluesselt);
			byte[] sinbytes = s.getBytes();
			for (int i=0; i<sinbytes.length; i++){
				System.out.print(sinbytes[i] + " \t ");
			}
			System.out.println("");
			
			//System.out.println("Vorher: " + verschluesselt.toString());
			//System.out.println("nachher: " + new String(verschluesselt).getBytes().toString());
			return new String(verschluesselt);

		} catch (Exception e) {
			System.out.println(e.getMessage());
			return null;
		}

	}
	
	

}

Ausgabe:
p2:
-13 68 -115 28 61 125 29 48 -25 -64 -128 -59 -86 78 -110 7
-13 68 63 28 61 125 29 48 -25 -64 -128 -59 -86 78 -110 7

p3:
-13 68 -115 28 61 125 29 48 -14 -11 104 -48 -47 31 -65 -109
-13 68 63 28 61 125 29 48 -14 -11 104 -48 -47 31 -65 -109

und schon an der dritten Stelle ist das Problem... :bahnhof:
 

norman

Top Contributor
hm..kann das auch nicht so recht nachvollziehen. im grunde ist folgendes doch aber dasselbe, und das funktioniert ???:L
Code:
		String p2 = "Passwort 2";
		String p3 = "Passwort 3";
	    
	    byte[] bytes1 = p2.getBytes();
	    byte[] bytes2 = new String(p2).getBytes();
	    
	    for (int i=0; i<p2.length(); i++) {
	    	System.out.print(bytes1[i] + "\t");
	    }
	    System.out.println();
	    for (int i=0; i<p2.length(); i++) {
	    	System.out.print(bytes2[i] + "\t");
	    }
	    System.out.println();
	    System.out.println(bytes1);
	    System.out.println(bytes2);
	    }
 

krihue

Mitglied
nicht ganz. ich verschlüssele die werte ja vorher und damit entsteht ein zeichen, was anscheind fehlinterpretiert wird. charsets hatte ich auch schon probiert aber das funktioniert genauso wenig... :?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
X Datentypen String in byte[] Java Basics - Anfänger-Themen 29
H Variablen string nach byte Java Basics - Anfänger-Themen 12
L Byte[] to String, doch bits sind gespiegelt (MSB/LSB) Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
V Byte -> String -> Byte verlustfrei Java Basics - Anfänger-Themen 12
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2
J String array to byte array Java Basics - Anfänger-Themen 8
B String in Byte konvertieren Java Basics - Anfänger-Themen 19
mwildam Byte array oder String Java Basics - Anfänger-Themen 4
M byte in String? Java Basics - Anfänger-Themen 3
B String nach byte[] Java Basics - Anfänger-Themen 17
I Probleme mit String Byte[] und Unicode Java Basics - Anfänger-Themen 15
G String zu byte[] "casten"? Java Basics - Anfänger-Themen 3
H String in Byte Array wandeln Java Basics - Anfänger-Themen 25
D Byte-Array zu Hex-String umwandeln Java Basics - Anfänger-Themen 3
G String to unsigned byte Java Basics - Anfänger-Themen 12
M Byte InputStream zu Zeichenformat Unicode bzw String konvert Java Basics - Anfänger-Themen 5
G byte [] in String convertieren? Java Basics - Anfänger-Themen 9
C Hex-String ind einen byte[] umwandeln? Java Basics - Anfänger-Themen 6
D String[] TO byte[] ? Java Basics - Anfänger-Themen 3
F String in Byte[] konvertieren Java Basics - Anfänger-Themen 2
N byte[] to String Java Basics - Anfänger-Themen 4
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
S byte to float Java Basics - Anfänger-Themen 4
J Byte Folge erkennen Java Basics - Anfänger-Themen 5
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
M Byte Array und Co. Java Basics - Anfänger-Themen 12
T Operatoren Float in byte umwandeln Java Basics - Anfänger-Themen 3
Y File to byte[] and byte[] to sysout Java Basics - Anfänger-Themen 3
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
F Hexfolge in Byte Array ersetzen Java Basics - Anfänger-Themen 8
T Erste Schritte Byte Java Basics - Anfänger-Themen 3
H Variablen short <-> byte[] Java Basics - Anfänger-Themen 15
H Variablen 32bit Zählwert als Byte-Array Java Basics - Anfänger-Themen 9
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
V unsigned byte? Java Basics - Anfänger-Themen 27
M byte Array Mindestlänge Java Basics - Anfänger-Themen 19
U short[] nach byte[] Java Basics - Anfänger-Themen 11
D [jni] jbytearray <-> byte array Java Basics - Anfänger-Themen 8
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
P byte Array aus ImageIcon Java Basics - Anfänger-Themen 10
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3
G byte[] (Base64) korrekt übergeben Java Basics - Anfänger-Themen 4
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
F Byte nach Zahl umwandeln Java Basics - Anfänger-Themen 11
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
T Datentypen unsigned byte? Java Basics - Anfänger-Themen 9
G Integar zu Byte Java Basics - Anfänger-Themen 4
P Byte mit 0...255? Java Basics - Anfänger-Themen 5
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
L Datentypen 250 und byte? Java Basics - Anfänger-Themen 4
H Datentypen Byte-Array RSA Java Basics - Anfänger-Themen 9
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
Hindi93 Byte to Int Java Basics - Anfänger-Themen 4
H Datentypen byte[] to int Java Basics - Anfänger-Themen 9
S hex zu byte Java Basics - Anfänger-Themen 4
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
P Datentypen Byte und char Typecast Java Basics - Anfänger-Themen 2
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
W Datentypen int -> byte Java Basics - Anfänger-Themen 2
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
F Typenumwandlung byte <=> int verstehen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben