Criptare e decriptare una stringa in Java
Postato da ROb | nella categoria Java | giovedì, 21 gennaio 2010
0
In alcuni casi ho avuto bisogno di fare una crittazione e decrittazione al volo di una stringa di testo nei miei programmi Java.
Ho cercato una classe che fosse semplice da utilizzare ma sufficientemente efficace e flessibile per i miei scopi. Dopo un pò di navigazione sono imbattuto in questo bell’articolo di Javid Jamae.
Ecco il file (zippato) da scaricare, all’interno del quale trovate la classe StringEncrypter.java.
Dopo averlo inserito nel vostro classpath e averlo compilato potete criptare e decriptare tramite queste due funzioni:
/**
* Encrypt a string using a key
*
* @param str
* @param resourcemap
* @return
*/
public static String encrypt(String str, HashMap<String, String> resourcemap) {
try {
String encryptionKey = resourcemap.get("encrypt.key");
StringEncrypter encrypter = new StringEncrypter(StringEncrypter.DES_ENCRYPTION_SCHEME, encryptionKey );
String encryptedString = encrypter.encrypt( str );
return encryptedString;
}
catch (Exception e) {
e.printStackTrace();
// do nothing
}
return null;
}
/**
* Decrypt a string using a key
*
* @param str
* @param resourcemap
* @return
*/
public static String decrypt(String str, HashMap<String, String> resourcemap) {
try {
String encryptionKey = resourcemap.get("encrypt.key");
StringEncrypter decrypter = new StringEncrypter(StringEncrypter.DES_ENCRYPTION_SCHEME, encryptionKey );
String decryptedString = decrypter.decrypt(str);
return decryptedString;
}
catch (Exception e) {
// do nothing
}
return null;
}
Dove la stringa “encryptionKey” è una chiave personale e privata utilizzata per criptare e decriptare.
L’algoritmo utilizzato di default è il DES.

