Necesito hacer un código para java donde ingrese un texto y lo encripte en números a mi gusto, una letra por un número expecífico, Ejemplo:
# Ingreso: El Metropolitano así Saluda : 25 7280131598641 6109 #Porque,
# e = 2 l = 5 m = 7 t = 8 r = 0 o = 1 p = 3 i = 9 a = 6 n = 4 s = 10 #
Solución:
#
import javax.swing.JOptionPane;
public class PoC{
public static void main(String[] args){
String sString = "";
char sAlphabet[] = new char[28];
sAlphabet[0] = '.';
sAlphabet[1] = 'A';
sAlphabet[2] = 'B';
sAlphabet[3] = 'C';
sAlphabet[4] = 'D';
sAlphabet[5] = 'E';
sAlphabet[6] = 'F';
sAlphabet[7] = 'G';
sAlphabet[8] = 'H';
sAlphabet[9] = 'I';
sAlphabet[10] = 'J';
sAlphabet[11] = 'K';
sAlphabet[12] = 'L';
sAlphabet[13] = 'M';
sAlphabet[14] = 'N';
sAlphabet[15] = 'Ñ';
sAlphabet[16] = 'O';
sAlphabet[17] = 'P';
sAlphabet[18] = 'Q';
sAlphabet[19] = 'R';
sAlphabet[20] = 'S';
sAlphabet[21] = 'T';
sAlphabet[22] = 'U';
sAlphabet[23] = 'V';
sAlphabet[24] = 'W';
sAlphabet[25] = 'X';
sAlphabet[26] = 'Y';
sAlphabet[27] = 'Z';
sString = JOptionPane.showInputDialog( "Ingrese el texto: " );
sString = sString.toUpperCase();
for( int i = 0; i < sString.length(); i++){
if( sString.charAt(i) == ' ' ){
System.out.print( " " );
}else{
for( int j = 0; j < sAlphabet.length; j++){
if( sString.charAt(i) == sAlphabet[j] ){
System.out.print( j );
}
}
}
}
}
}
/* SALIDA
shTareas@Ubuntu:~/Escritorio$ java PoC
SH TAREAS
208 211195120
*/
#Observación: Los valores del array sAlphabet[] pueden ser cambiados siempre y cuando no exceda el limite del array, puedes agregarle más valores y añadirle la cantidad de caracteres en la declaración del array.
Sólo le veo un inconveniente y es qué, cuando desees desencriptar el valor, no se como le harás para identificar que por ejemplo, 123 sean 3 letras o 2, ya sea {1 = A, 2 = B, 3 = C} ó { 12 = L, 3 = C } ó { 1 = A, 23 = V }.
Quizás podrías implementar algún token o delimitador.
Sólo le veo un inconveniente y es qué, cuando desees desencriptar el valor, no se como le harás para identificar que por ejemplo, 123 sean 3 letras o 2, ya sea {1 = A, 2 = B, 3 = C} ó { 12 = L, 3 = C } ó { 1 = A, 23 = V }.
Quizás podrías implementar algún token o delimitador.
No hay comentarios:
Publicar un comentario