ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
2576
2576
EMPFEHLEN
-
Hey,
ich komme gerade bei meinem Programm nicht weiter. Und zwar muss ich eine Variable des Typs byte[] in eine Datei schreiben, allerdings bekomme ich es nicht hin.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(crypt.ALGORITHM); keyPairGen.initialize(1024); // 1024 maximale Schluesselbreite KeyPair keyPair = keyPairGen.generateKeyPair(); PrivateKey privKey = keyPair.getPrivate(); PublicKey pubKey = keyPair.getPublic(); FileWriter fw = new FileWriter("Daten/konten.prk", true); byte[] bytes; byte[] encrypt = "".getBytes(); byte[] decrypt = "".getBytes(); for(int i = 0; i < daten.toArray().length; i++) { bytes = daten.get(i).toString().getBytes(); encrypt = crypt.encrypt(pubKey, bytes); } fw.write(encrypt); fw.close();
daten ist hierbei eine ArrayList. Diese wird verschlüsselt und die verschlüsselten Daten sollen nun in die Datei konten.prk geschrieben werden. Wie bewerkstellige ich das jetzt? Denn bei "fw.write(encrypt);" gibt er mir eine Fehlermeldung.
Hat jemand einen Tip?
Grüße,
MacMo
-
18.01.09 20:42 #2
Hi,
könntest du vieleicht mal die Fehlermeldung posten? Insbesondere den Namen der Exception?
Außerdem würde ich es eh mit einer Serialisierung bewerkstelligen, oder müssen die Daten von einem anderen Programm ausgelesen werden?
Ciao
DosCoderMan kann mich für das verantwortlich machen, was ich hier schreibe, nicht für das, was andere verstehen.
Sollte ich mal Mist labern weist mich bitte darauf hin.
Ich freue mich über ein Danke, wenn ich helfen konnte!
-
NetBeans gibt mir folgende Fehlermeldung aus:
Code :1 2 3
symbol : method write(byte[]) location: class java.io.FileWriter fw.write(encrypt);
Ich programmiere in Java noch nicht so lange. Was meinst du mit Serialisierung?
Die Daten werden vom selben Programm wieder ausgelesen. Sollen eben verschlüsselt sein und da habe ich mir diesen Verschlüsslungsalgorithmus gegoogelt.
-
18.01.09 21:15 #4
Hi.
Seriealisierung ist das "Flachpressen" von Objekten. Wie du weißt, werden Objekte nach Programmende gelöscht. Um dies zu vermeiden speichert man sie ab. Entweder als *.ser (dabei kommt irgendeine, nicht für Menschen gedachte, Zeichenfolge heraus, oder als normale Datei, was wesentlich mehr auf die Performance geht. Hier kannst du zu beiden Sachen nachlesen:
Serialisierung: Java ist auch eine Insel
Normales Abspeichern:Java ist auch eine Insel
Zu der Fehlermeldung: sonst zeigt NB nix an? Keine Zeilennummer oder sowas?
Ciao
DosCoderMan kann mich für das verantwortlich machen, was ich hier schreibe, nicht für das, was andere verstehen.
Sollte ich mal Mist labern weist mich bitte darauf hin.
Ich freue mich über ein Danke, wenn ich helfen konnte!
-
Danke für die Links, werde ich mir mal anschauen.
NetBeans zeigt vor dem Programmstart schon an, dass er "encrypt" nicht in die Datei schreiben kann, weil es eben vom Typ byte ist. Also suche ich eine Möglichkeit Variablen vom Typ byte in eine Datei zu schreiben.
Edit: Das Problem ist ja nicht, die in die Datei zu schreiben. Das Funktioniert mit einem ganz normalen String. Nur die Variable encrypt will er nicht schreiben.
Geändert von MacMo (18.01.09 um 21:39 Uhr)
-
18.01.09 21:44 #6
Hi,
dann ist die Sache doch einfach. Mach aus deinem Byte nen Integer, damit kommt der FileWriter zurecht:
CiaoCode java:1 2 3
byte r = 1; int i; i = (int)r;
DosCoderMan kann mich für das verantwortlich machen, was ich hier schreibe, nicht für das, was andere verstehen.
Sollte ich mal Mist labern weist mich bitte darauf hin.
Ich freue mich über ein Danke, wenn ich helfen konnte!
-
Funktioniert leider auch nicht. Ich denke, da es sich um ein Byte-Array handelt.
Was ich vergessen habe zu erwähnen. Der Inhalt der Variable encrypt ist RSA verschlüsselt. Vielleicht ist das noch von Bedeutung.
Danke schon mal für die Antworten.
-
19.01.09 13:34 #8Code java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
try { Cipher cipher = Cipher.getInstance(secureDeviceKey.getAlgorithm()); cipher.init(Cipher.ENCRYPT_MODE, secureDeviceKey); String password = "1234"; byte[] encrypted = cipher.doFinal(password.getBytes()); System.out.println("encrypted=" + new String(encrypted)); File f = new File("test.txt"); FileOutputStream fos = new FileOutputStream(f); fos.write(encrypted); fos.close(); FileInputStream fis = new FileInputStream(f); byte[] data = new byte[(int) f.length()]; fis.read(data); cipher.init(Cipher.DECRYPT_MODE, secureDeviceKey); byte[] decrypted = cipher.doFinal(data); System.out.println("decrypted=" + new String(decrypted)); } catch (Throwable t) { t.printStackTrace(); }
Fann Ég Fjalli Fallega Steina
Faldi Dá Alla Vildi Deim Leyna
Huldi Dar Hellisskúta Heillasteina
Alla Mína Una eth slegu Óskasteina
Ähnliche Themen
-
ANT Wörter aus eingelesener Datei in Variable schreiben
Von PHabc im Forum Sonstige SprachenAntworten: 0Letzter Beitrag: 03.09.10, 16:07 -
String und int Variable in eine Datei schreiben
Von XxbambamxX im Forum C/C++Antworten: 3Letzter Beitrag: 22.08.10, 21:20 -
[Batch] Variable mit in neue Datei schreiben
Von Trash im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 01.10.09, 17:14 -
Variable in eine Datei schreiben?
Von Katharina_ im Forum PHPAntworten: 3Letzter Beitrag: 18.06.05, 08:16 -
variable in text-datei schreiben
Von hammer12 im Forum PHPAntworten: 1Letzter Beitrag: 07.09.01, 17:30





Zitieren
Login





