elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Encriptacion de Cadenas XOR en JAVA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Encriptacion de Cadenas XOR en JAVA  (Leído 11,898 veces)
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Encriptacion de Cadenas XOR en JAVA
« en: 5 Febrero 2009, 07:18 am »

Hola, aqui les pongo una traduccion que hice de un codigo VB a java...

El codigo sirve para cifrar cadenas usando XOR ...

ando muy acostumbrado a programar en VB; asi que para no perder el control y confusion ideo mis codigos con funciones
tipicas del VB: mid, rigth, reverse.... a las cuales simulo... (es por comodidad)

aqui les dejo los dos metodos principales (cifra y descifra); los otros metodos son lo que les decia (semejantes al VB)

Código
  1. import java.net.*;
  2. import java.io.*;
  3. public class XorCoder
  4. {
  5. public static String cifra(String Pass, String clave){
  6. String Codigo, CAR;
  7. int i;
  8. //String clave = new String("%ü&/@#$A");
  9. String Pass2 = new String("");
  10. char codigo[],car[];
  11. for(i=1;i<= Pass.length();i++){
  12.     CAR = Mid(Pass,i, 1);
  13. car= CAR.toCharArray();
  14. Codigo = Mid(clave, ((i - 1) % clave.length()) + 1, 1);
  15. codigo= Codigo.toCharArray();
  16. Pass2 = Pass2 + Right("0" + Integer.toHexString((int)codigo[0] ^ (int)car[0]), 2);
  17.  
  18. }
  19.  
  20.       return Pass2;
  21. }
  22. public static String descifra(String Pass,String clave){
  23. String Codigo, CAR;
  24. int i,j=1;
  25. //String clave = new String("%ü&/@#$A");
  26. String Pass2 = new String("");
  27. char codigo[],car[],hex[];
  28. for(i=1;i<= Pass.length();i=i+2){
  29. CAR =Mid(Pass, i, 2);
  30. car= CAR.toCharArray();
  31. Codigo = Mid(clave, ((j - 1) % clave.length()) + 1, 1);
  32. codigo= Codigo.toCharArray();
  33. Pass2 = Pass2 + (char)((int)codigo[0] ^ Integer.parseInt(CAR, 16));
  34. j++;
  35. }
  36. return Pass2;
  37. }
  38.  
  39. public static String Mid(String cad,int a, int b){
  40. cad = cad.substring(a-1,a + b -1);
  41. return cad;
  42. }
  43.  
  44. public static String Right(String cad,int a){
  45.  
  46.        cad = reverse(cad);
  47. cad = cad.substring(0,a);
  48.        cad = reverse(cad);
  49.        return cad;
  50. }
  51.  
  52. public static String reverse(String source) {
  53.        int i, len = source.length();
  54.        StringBuffer dest = new StringBuffer(len);
  55.  
  56.        for (i = (len - 1); i >= 0; i--) {
  57.            dest.append(source.charAt(i));
  58.        }
  59.        return dest.toString();
  60.    }
  61.  
  62. }
  63.  
  64.  

lo pueden usar asi:
 XorCoder.cifra("jackl007","%ü&/@#$A");
 XorCoder.descifra("4f9d45442c131476","%ü&/@#$A");   // el segundo parametro es una clave de encriptacion; por lo cual
siempre podriamos cifrar de una manera distinta; eso me gusta

PD: el autor del algoritmo no recuerdo ahora, pero fue escrito originalmente en VB


« Última modificación: 5 Febrero 2009, 07:36 am por jackl007 ツ » En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: Encriptacion de Cadenas XOR en JAVA
« Respuesta #1 en: 8 Febrero 2009, 11:49 am »

no deberías programar visual basic en java. Java tiene sus propios métodos para hacer esas cosas y el código te quedará más limpio y eficiente, aparte de que aprenderás java.


En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines