Encriptador Curso de Programación Java

Lección:

Más sobre Clases


Ejercicio:

Encriptador 9


Objetivo:

Cree una clase "Encrypter" para cifrar y descifrar texto.

Tendrá un método "Encrypt", que recibirá una cadena y devolverá otra cadena. Será un método estático, por lo que no necesitamos crear ningún objeto de tipo "Encrypter".

También habrá un método "Descifrar".

En este primer enfoque, el método de cifrado será muy sencillo: para cifrar añadiremos 1 a cada carácter, de forma que "Hello" se convertiría en "Ipmb", y para descifrar restaríamos 1 a cada carácter.

Un ejemplo de uso podría ser

string newText = Encrypter.Encrypt("Hola");


Código:

package Encrypter;
import java.util.*;
public class Encrypter
{
	public static String Encrypt(String text)
	{
		int letterInt = 0;
		char letter = ' ';
		String textEncripted = "";
		for (int i = 0; i < text.length(); i++)
		{
			letterInt = (int)text.charAt(i) + 1;
			letter = (char)letterInt;
			textEncripted += String.valueOf(letter);
		}
		return textEncripted;
	}

	public static String Decrypt(String text)
	{
		int letterInt = 0;
		char letter = ' ';
		String textDecripted = "";
		for (int i = 0; i < text.length(); i++)
		{
			letterInt = (int)text.charAt(i) - 1;
			letter = (char)letterInt;
			textDecripted += String.valueOf(letter);
		}
		return textDecripted;
	}
}

public class Main
{
	public static void main(String[] args)
	{
		boolean debug = true;

		String newText = Encrypter.Encrypt("Hola");
		System.out.printf("Text encripted: %1$s" + "\r\n", newText);
		String TextDescripted = Encrypter.Decrypt(newText);
		System.out.printf("Text Decripted: %1$s" + "\r\n", TextDescripted);

		if (debug)
		{
			new Scanner(System.in).nextLine();
		}
	}
}