comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cifrado en JAVA

  • 3 Respuestas
  • 2195 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 210
  • Actividad:
    6.67%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« en: Junio 11, 2015, 10:27:12 pm »
Les comparto un código que realicé en JAVA que cifra palabras o frases según una llave numérica que nosotro definamos


¿Cómo funciona?
Definimos una clave privada la cual usaremos para cifrar y desifrar el código ( esta clave tiene que ser numérica de largo variable)

Lo que hace es lo siguiente:

Si utilizamos la clave 9876 y la palabra "cifrado ejemplo" se ordenará de la siguiente manera

C  I  F R A D O     E  J   E  M P L O
9 8  7 6 9 8 7       6 9  8   7 6  9 8

finalmente hará un cifrado Cesar de X cantidad de saltos según el número asociado en el siguiente alfabeto
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ . , ; :

Si llega al final del alfabeto seguirá con el inicio.

Espero les sirva , acá el Code
Código: Java
  1. package cifradoJava;
  2.  
  3. public class CifradoJAVA {
  4.         static char ALFA[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '_', '.', ',', ';', ':'};
  5.         static int count = 0, pos;
  6.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta aux,encrypt;
  7.        
  8.     static No tienes permisos para ver links. Registrate o Entra con tu cuenta Cifrar(No tienes permisos para ver links. Registrate o Entra con tu cuenta key, No tienes permisos para ver links. Registrate o Entra con tu cuenta phrase) {
  9.         count = 0;
  10.         aux = "";
  11.         encrypt = "";
  12.         for (int i = 0; i < phrase.length(); i++) {
  13.  
  14.             if (!" ".equals(phrase.substring(i, i + 1))) {
  15.                 aux = aux + key.substring(count, count + 1);
  16.                 count++;
  17.             } else {
  18.                 aux = aux + " ";
  19.             }
  20.  
  21.             if (count > key.length() - 1) {
  22.                 count = 0;
  23.             }
  24.         }
  25.  
  26.         for (int i = 0; i < phrase.length(); i++) {
  27.  
  28.             for (int j = 0; j < ALFA.length; j++) {
  29.                 if (No tienes permisos para ver links. Registrate o Entra con tu cuenta.valueOf(ALFA[j]).equalsIgnoreCase(phrase.substring(i, i + 1))) {
  30.                     pos = j + No tienes permisos para ver links. Registrate o Entra con tu cuenta.parseInt(aux.substring(i, i + 1));
  31.  
  32.                     if (pos >= ALFA.length) {
  33.                         pos = pos - ALFA.length;
  34.                     }
  35.                     encrypt = encrypt + ALFA[pos];
  36.                 }
  37.                 if (phrase.substring(i, i + 1).equalsIgnoreCase(" ")) {
  38.                     encrypt = encrypt + " ";
  39.                     j = ALFA.length;
  40.                 }
  41.             }
  42.  
  43.         }
  44.  
  45.         //System.out.println(phrase);
  46.         //System.out.println(aux);
  47.         //System.out.println(encrypt);
  48.         return encrypt;
  49.     }
  50.  
  51.     static No tienes permisos para ver links. Registrate o Entra con tu cuenta Decifrar(No tienes permisos para ver links. Registrate o Entra con tu cuenta key, No tienes permisos para ver links. Registrate o Entra con tu cuenta phrase) {
  52.         count = 0;
  53.         aux = "";
  54.         encrypt = "";
  55.         for (int i = 0; i < phrase.length(); i++) {
  56.  
  57.             if (!" ".equals(phrase.substring(i, i + 1))) {
  58.                 aux = aux + key.substring(count, count + 1);
  59.                 count++;
  60.             } else {
  61.                 aux = aux + " ";
  62.             }
  63.  
  64.             if (count > key.length() - 1) {
  65.                 count = 0;
  66.             }
  67.         }
  68.  
  69.         for (int i = 0; i < phrase.length(); i++) {
  70.  
  71.             for (int j = 0; j < ALFA.length; j++) {
  72.                 if (No tienes permisos para ver links. Registrate o Entra con tu cuenta.valueOf(ALFA[j]).equalsIgnoreCase(phrase.substring(i, i + 1))) {
  73.                     pos = j - No tienes permisos para ver links. Registrate o Entra con tu cuenta.parseInt(aux.substring(i, i + 1));
  74.  
  75.                     if (pos < 0) {
  76.                         pos = (ALFA.length) - pos;
  77.                     }
  78.                     //System.out.println("pos: "+pos);
  79.                     encrypt = encrypt + ALFA[pos];
  80.                 }
  81.                 if (phrase.substring(i, i + 1).equalsIgnoreCase(" ")) {
  82.                     encrypt = encrypt + " ";
  83.                     j = ALFA.length;
  84.                 }
  85.             }
  86.  
  87.         }
  88.         return encrypt;
  89.     }
  90.  
  91.     public static void main(No tienes permisos para ver links. Registrate o Entra con tu cuenta[] args) {
  92.  
  93.         No tienes permisos para ver links. Registrate o Entra con tu cuenta phrase = "debobipro";
  94.         No tienes permisos para ver links. Registrate o Entra con tu cuenta key = "9876"; //Cualquier número
  95.  
  96.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println(Cifrar(key, phrase));
  97.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println(Decifrar(key, Cifrar(key, phrase)));
  98.  
  99.     }
  100.  
  101. }

Que lo aprovechen :)!
« Última modificación: Junio 12, 2015, 10:25:37 am por DeBobiPro »
Nivel 77 No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Gus Garsaky

  • *
  • Underc0der
  • Mensajes: 93
  • Actividad:
    0%
  • Reputación -1
    • Ver Perfil
  • Skype: gus.garsaky
« Respuesta #1 en: Junio 12, 2015, 10:13:07 am »
Gracias por el source, DeBobi. Como pequeña recomendación, trata de documentar los métodos para que sea mas easy to read.


Salu2.

Desconectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 210
  • Actividad:
    6.67%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« Respuesta #2 en: Junio 12, 2015, 10:14:39 am »
si si, ayer estaba medio pillado, lo tengo casi documentado ya :3

Gracias por la recomendación
Nivel 77 No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Snifer

  • *
  • Underc0der
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • Snifer@L4b's
    • Ver Perfil
    • Snifer@L4bs
  • Twitter: sniferl4bs
« Respuesta #3 en: Junio 12, 2015, 01:20:55 pm »
Cuenta considerar caracteres especiales como ser @ ;).

Regards,
Snifer
No tienes permisos para ver links. Registrate o Entra con tu cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



 

¿Te gustó el post? COMPARTILO!



[Video Curso] Iniciacion a Java por DesarrolloWeb y EscuelaIT Mayo 2014

Iniciado por graphixx

Respuestas: 3
Vistas: 1590
Último mensaje Febrero 23, 2015, 10:13:28 am
por Hu3c0
Como compilar programas Java en la consola de comandos de Windows

Iniciado por tar3kw0rm3d

Respuestas: 2
Vistas: 2279
Último mensaje Junio 04, 2013, 02:55:07 pm
por tar3kw0rm3d
[LIBRO] Programación avanzada en Java - Sonia Jaramillo Valbuena

Iniciado por graphixx

Respuestas: 3
Vistas: 3009
Último mensaje Julio 25, 2018, 10:33:06 am
por GVelandia
Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

Iniciado por graphixx

Respuestas: 9
Vistas: 4588
Último mensaje Diciembre 04, 2017, 02:36:34 am
por graphixx
Tutorial: Traduccion de aplicaciones JAVA - Moviles [By :: SmartGenius :: ]

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1546
Último mensaje Febrero 24, 2010, 04:26:07 pm
por ProcessKill