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