__Índice__
Introducción
Método de cifrado
Código
Github
__Introducción__
Bien, en el blog anterior hicimos que el usuario nos de una base numérica, y con él, cifrar nuestro texto desde el lenguaje C#.
Pero hay varias cosas que podemos hacer con las bases numéricas, y hoy veremos otro método y esta vez usaremos Java.
__Método de cifrado__
El método que vamos a utilizar es bastante simple, pero interesante. Vamos a cifrar cada letra con una base distinta. Está iniciar de binario (Base 2) hasta la 36 de forma auto-incremental de uno en uno.
Ejemplo: HOLA
H = 1001000
O = 2221
L = 1030
A = 230
Como podemos ver, H esta en binario, la O en base 3, L en 4 y A en base 5.
Para descifrar tenemos que pasar cada uno a decimal y después a su valor del código ASCII
__Código__
Método/función para cifrar
Lo único que tenemos que pasarle a la función es el texto y esta nos retornará el resultado ya cifrado. Pero... ¿Qué significa el código?Primero tenemos 3 variables:
° result: guardará el texto cifrado
° letter: arreglo que guardará el texto del usuario, cada letra en un indice.
° numericalBase: Tendrá la base a la que será pasada cada letra
El ciclo recorrerá el arreglo.La condición evaluará que la base numérica no pase de 36, en el momento
que sea más alto regresará a binario.
La variable ascii guardará cada letra a su valor de ASCII
result se le agregara la operación de cambiar cada letra a una base
numérica. Con ello utilizamo Integer.toString que recibe un texto y una base.
Al final solamente aumentamos nuestra variable base en uno.
Método/Función para descifrar
Lo único que tenemos que pasarle a la función es el texto cifrado y esta nos retornará el resultado ya descifrado.Ahora vamos a explicar el código de esta función.
Primero, tenemos 3 variables:
° result: Que hace lo mismo que la variable de arriba.
° letter: igual hace lo mismo, pero en lugar de guardar cada carácter, esta vez queremos tomar el número entero en su base, así que guardaremos en cada indice cada número que este separado por espacios.
° numericalBase: Esto si es igual.
Ahora vamos a recorrer el arreglo, y la condición sirve para no pasarnos más allá de base 36.
En la variable n guardamos la operación de pasar cada número a base 10 (decimal) con Integer.parseInt que le pasamos el texto y la base en la que se encuentra.
Al final la guardamos en la variable result convirtiendo el número en su representación del Código ASCII.
Solamente aumentamos numericalBase en uno.
Comentarios
Publicar un comentario