Hallo!
Folgendes Problem:
Ich schreib grad eine Webanwendung und bin dabei gezwungen gewisse Daten in Hidden-Formularfeldern in der JSP-Seite zu speichern.
Der User soll gewisse Dinge allerdings nicht im Klartext lesen können also werden diese gewissen Daten verschlüsselt.
Das verschlüsseln erfolgt mit folgender Funktion:
Zitat:
public byte[] encrypt(byte[] bKey, byte[] bData)
{
Cipher c = null;
byte[] encryptedbytes = bData;
try
{
SecretKey desKey = getKey(bKey);
c = Cipher.getInstance("DES/ECB/PKCS5Padding");
c.init(Cipher.ENCRYPT_MODE, desKey);
encryptedbytes = c.doFinal(bData);
}
........
return encryptedbytes;
}
|
das entschlüsseln mittels folgender Funktion:
Zitat:
public byte[] decrypt(byte[] bKey, byte[] bData)
{
Cipher c = null;
byte[] decryptedbytes = bData;
try
{
SecretKey desKey = getKey(bKey);
c = Cipher.getInstance("DES/ECB/PKCS5Padding");
c.init(Cipher.DECRYPT_MODE, desKey);
decryptedbytes = c.doFinal(bData);
}
.....
return decryptedbytes;
}
|
Wobei für bKey immer ein Passwort als Schlüssel angegeben wird, das ich mittels passwort.getBytes(); in die einzelnen Bytes zerlege.
Funktioniert alles einwandfrei, allerdings liefert die verschlüsselung immer nur Wirre Zeichen (ok das ist ja sinn und zweck) und ich bin mir nicht sicher ob dass dann in einer HTML-Seite ein Problem darstellt.
Also um meine Frage nochmal auszuformulieren:
Wie kann ich die Daten verschlüsseln wobei der verschlüsselte String nur A-Za-z0-9 enthalten sollte, oder wie kann den erhaltenen String in einen String ohne Sonderzeichen umwandeln?
Danke
Tschüss!