Get it on Google Play
15-05-2019
 

Encriptar y desencriptar datos en Java

Java Encryption

Java Encryption

Dominar la encriptación y desencriptación de datos se ha vuelto crucial para cualquier desarrollo hoy en día, y es que la seguridad de los sistemas de información es crítico tanto a nivel empresarial como a nivel personal. No puede haber proyecto web, de ciencia de datos, etc. que no certifique la seguridad(O, por lo menos, un mínimo de seguridad).

Con estas dos simple funciones seremos capaces de encriptar y desencriptar datos para almacenar o enviar información en Java:

private static String  ENCRYPT_KEY="clave-compartida-no-reveloar-nunca";

private static String encript(String text) throws Exception {	
	Key aesKey = new SecretKeySpec(ENCRYPT_KEY.getBytes(), "AES");

	Cipher cipher = Cipher.getInstance("AES");
	cipher.init(Cipher.ENCRYPT_MODE, aesKey);

	byte[] encrypted = cipher.doFinal(text.getBytes());
		
	return Base64.encodeBytes(encrypted);
	}

private static String decrypt(String encrypted) throws Exception {
	byte[] encryptedBytes=Base64.decode( encrypted.replace("\n", "") );
		
	Key aesKey = new SecretKeySpec(ENCRYPT_KEY.getBytes(), "AES");

	Cipher cipher = Cipher.getInstance("AES");
	cipher.init(Cipher.DECRYPT_MODE, aesKey);

	String decrypted = new String(cipher.doFinal(encryptedBytes));
        
	return decrypted;
	}

Fijaros que lo que hace ‘Cipher’ es encriptar y desencriptar arrays de bytes aunque yo después lo transformo a cadenas de texto codificadas en Base64, por si os interesa hacer alguna modificación.

Si te ha servido, por favor comparte
 

Leave a Reply