06/02/11 10:40
kegita
Ciao a tutti....
Sto impazzendo da 3 giorni per un problema che non riesco a risolvere.
In pratica devo criptare con una chiave privata una stringa di testo,salvarla in un DB e poi recuperarla e decriptarla con la chiave pubblica.
L'utente A cripta la stringa
Il server inserisce la stringa nel DB
L'utente B decripta la stringa con la chiave pubblica di A
questo è il codice per criptare
codice per decriptare
Il problema è che quando il server va a scrivere la stringa sul DB,mi da questo errore
" Errore di sintassi nella stringa nell'espressione della query"
E da quanto ho capito,lo fa perchè ho una stringa di valori esadecimali.
Come posso rivolvere allora il tutto???
Sto impazzendo da 3 giorni per un problema che non riesco a risolvere.
In pratica devo criptare con una chiave privata una stringa di testo,salvarla in un DB e poi recuperarla e decriptarla con la chiave pubblica.
L'utente A cripta la stringa
Il server inserisce la stringa nel DB
L'utente B decripta la stringa con la chiave pubblica di A
questo è il codice per criptare
Cipher c1; c1 = Cipher.getInstance("RSA","BC"); c1.init(Cipher.ENCRYPT_MODE, privata); byte[] byteDaCodificare = messaggio.getBytes("UTF8");// byte[] codificati = c1.update(byteDaCodificare); codificati = c1.doFinal(); String dec = new String(codificati,"UTF8"); return dec;
codice per decriptare
Cipher c1; c1 = Cipher.getInstance("RSA","BC"); c1.init(Cipher.DECRYPT_MODE, pubblica); byte[] byteDaDeodificare = _messaggio.getBytes("UTF8"); byte[] decodificati = c1.doFinal(byteDaDeodificare); String dec = new String(decodificati,"UTF8"); return dec;
Il problema è che quando il server va a scrivere la stringa sul DB,mi da questo errore
" Errore di sintassi nella stringa nell'espressione della query"
E da quanto ho capito,lo fa perchè ho una stringa di valori esadecimali.
Come posso rivolvere allora il tutto???
aaa