|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--chat.Crittografia
Classe di utilità che semplifica l'uso della crittografia all'interno dei programmi Java.
E' sufficiente creare un'istanza di questa classe specificando
l'algoritmo crittografico desiderato, dopodiché cifra(...)
e decifra(...)
possono essere invocati in qualsiasi
successione ed un qualunque numero di volte per applicare l'operazione
crittografica voluta ai dati specificati di volta in volta.
Questa classe è idonea anche agli ambiti multi-threading.
Field Summary | |
private java.lang.String |
algoritmo
L'algoritmo da usare nelle operazioni di cifratura e decifratura. |
Constructor Summary | |
Crittografia(java.lang.String algoritmo)
Unico costruttore della classe. |
Method Summary | |
byte[] |
cifra(byte[] dati,
int offset,
int lun,
java.security.Key chiave)
Operazione di cifratura. |
byte[] |
cifra(byte[] dati,
java.security.Key chiave)
Produce la versione cifrata del testo dati .
|
byte[] |
decifra(byte[] dati,
int offset,
int lun,
java.security.Key chiave)
Operazione di decifratura. |
byte[] |
decifra(byte[] dati,
java.security.Key chiave)
Produce la versione decifrata del testo dati .
|
Methods inherited from class java.lang.Object |
|
Field Detail |
private java.lang.String algoritmo
Constructor Detail |
public Crittografia(java.lang.String algoritmo) throws java.security.NoSuchAlgorithmException
algoritmo
- la stringa che identifica il tipo di
Cipher
da adottare.
Si possono specificare anche la modalità di
lavoro a blocchi (ECB, CBC, CFB, OFB...) ed il
tipo di padding (PKCS#5, PKCS#7...),
impiegando il carattere '/'
per separare i vari campi entro la stringa.algoritmo
Method Detail |
public byte[] cifra(byte[] dati, java.security.Key chiave) throws java.security.KeyException
dati
.
Semplice wrapper che equivale a:
cifra(dati, 0, dati.length, chiave);
dati
- il plaintext da cifrare.chiave
- la chiave di cifratura da impiegare.dati
.Cipher
interno.cifra(byte[], int, int, java.security.Key)
public byte[] cifra(byte[] dati, int offset, int lun, java.security.Key chiave) throws java.security.KeyException
decifra(...)
come azione complementare per risalire al messaggio in chiaro.dati
- il plaintext da cifrare.offset
- l'offset del primo byte utile nel vettore dati
.lun
- la lunghezza del testo da cifrare, considerato
da dati[offset]
(compreso) in poi.chiave
- la chiave di cifratura da impiegare.dati
.Cipher
interno.NoSuchAlgorithmException
.decifra(byte[], java.security.Key)
,
decifra(byte[], int, int, java.security.Key)
public byte[] decifra(byte[] dati, java.security.Key chiave) throws java.security.KeyException
dati
.
Semplice wrapper che equivale a:
decifra(dati, 0, dati.length, chiave);
dati
- il ciphertext da decifrare.chiave
- la chiave di decifratura da impiegare.dati
.Cipher
interno.decifra(byte[], int, int, java.security.Key)
public byte[] decifra(byte[] dati, int offset, int lun, java.security.Key chiave) throws java.security.KeyException
cifra(...)
come azione eseguita in precedenza per creare il messaggio cifrato.dati
- il ciphertext da decifrare.offset
- l'offset del primo byte utile nel vettore dati
.lun
- la lunghezza del testo da decifrare, considerato
da dati[offset]
(compreso) in poi.chiave
- la chiave di decifratura da impiegare.dati
.Cipher
interno.NoSuchAlgorithmException
.cifra(byte[], java.security.Key)
,
cifra(byte[], int, int, java.security.Key)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |