Hallo Freunde,
ich habe da eine Frage, wo ich nicht weiter komme. Ich habe mir ein wenig Code zusammengestellt, welches einzelne Strings verschlüsselt (ich hoffe das tut es)
Hier mal der Code:
Jetzt habe ich aber eine andere Frage: ich möchte Strings in einem Array verschlüsseln und in eine Datenbank ablegen. Diesbezüglich habe ich 2 Fragen:
das Schlüsselpaar darf ich nicht jedes mal neu generieren, oder? Wie kann ich das Programm soweit modifizieren, dass ein vom Anwender eingegebenes Passwort als Schlüssel genutzt wird?
Weiterhin habe ich Probleme gehabt ein Array (also Daten im Array) zu verschlüsseln. Könnt ihr mir behilflich sein?
Liebe Grüße,
Dogano
ich habe da eine Frage, wo ich nicht weiter komme. Ich habe mir ein wenig Code zusammengestellt, welches einzelne Strings verschlüsselt (ich hoffe das tut es)
Hier mal der Code:
Java:
public class encryptionTest {
public static void main(String[] args) {
String xform = "RSA/ECB/PKCS1Padding";
KeyPairGenerator kpg = null;
try {
kpg = KeyPairGenerator.getInstance("RSA");
System.out.println(a);
} catch (NoSuchAlgorithmException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
kpg.initialize(512);
KeyPair kp = kpg.generateKeyPair();
PublicKey pubk = kp.getPublic();
PrivateKey prvk = kp.getPrivate();
String string = new String("Dieser Text soll verschlüsselt werden!");
byte[] dataBytes = string.getBytes();
byte[] encBytes = null;
try {
encBytes = encrypt(dataBytes, pubk, xform);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
byte[] decBytes = null;
try {
decBytes = decrypt(encBytes, prvk, xform);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("unverschlüsselter String: " + string);
System.out.println("verschlŸsselter Text: " + new String(encBytes));
System.out.println("entschlŸsselter Text: " + new String(decBytes));
}
private static byte[] encrypt(byte[] inpBytes, PublicKey key, String xform)
throws Exception {
Cipher cipher = Cipher.getInstance(xform);
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(inpBytes);
}
private static byte[] decrypt(byte[] inpBytes, PrivateKey key, String xform)
throws Exception {
Cipher cipher = Cipher.getInstance(xform);
cipher.init(Cipher.DECRYPT_MODE, key);
return cipher.doFinal(inpBytes);
}
}
Jetzt habe ich aber eine andere Frage: ich möchte Strings in einem Array verschlüsseln und in eine Datenbank ablegen. Diesbezüglich habe ich 2 Fragen:
das Schlüsselpaar darf ich nicht jedes mal neu generieren, oder? Wie kann ich das Programm soweit modifizieren, dass ein vom Anwender eingegebenes Passwort als Schlüssel genutzt wird?
Weiterhin habe ich Probleme gehabt ein Array (also Daten im Array) zu verschlüsseln. Könnt ihr mir behilflich sein?
Liebe Grüße,
Dogano