|
121
|
Programación / Java / Problema con encriptador
|
en: 15 Noviembre 2009, 13:59 pm
|
Hola a todos, estoy haciendo una clase para cifrar textos, pero tengo un problema, no se muestra en pantalla lo cifrado :s Aqui el codigo que encontré: import java.io.*; public class encriptador { //instance private String claveOriginal =""; private String textoOriginal =""; private String claveActual =""; private char[][] matriz; //reader //BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); modo consola //methods int repeticiones=0; int jSize= claveActual.length(); while (repeticiones<jSize) { boolean cambio=false; int i=repeticiones; claveActual=""; for (int j=0; j<jSize;j++) claveActual=claveActual+matriz[0][j]; while ((!cambio)&&(i<jSize)) { if (claveOriginal.charAt(repeticiones)==claveActual.charAt(i)){ modificarArreglo(i,repeticiones); cambio=!cambio; } else i++; } repeticiones++; } for (int i=1; i<matriz.length;i++) for (int j=0; j<matriz[0].length;j++) output=output + matriz[i][j]; return output; } claveOriginal=clave; textoOriginal=texto; int jSize= claveOriginal.length(); int iSize= (textoOriginal.length()/jSize)+1; if ((textoOriginal.length()%jSize)!=0) iSize++; /*debug System.out.println("Filas:" + iSize + "Columnas:"+jSize); */ matriz= new char[iSize][jSize]; int charPos=0; int keyPos=0; for (int i=0; i<claveOriginal.length();i++) { matriz[0][i]=claveOriginal.charAt(i); } for (int i=1; i<iSize;i++) { for (int j=0;j<jSize;j++) { try { matriz[i][j]=textoOriginal.charAt(charPos); charPos++; } catch (Exception e ) {matriz [i ][j ]=' '; charPos ++;} } } /*debug for (int i=0; i<iSize;i++) { for (int j=0; j<jSize;j++) { System.out.print(matriz[i][j]); } } */ int repeticiones=0; while (repeticiones<jSize) { char[] filaCero= new char[jSize-repeticiones]; for (int j=repeticiones; j<jSize; j++) { filaCero[j-repeticiones]=matriz[0][j]; } int i=0; boolean cambio=false; //tamaño de filaCero while ((i<jSize-repeticiones)&&(!cambio)){ if (esElMenor(filaCero,filaCero[i])){ modificarArreglo(i+repeticiones,repeticiones); cambio=!cambio; } i++; } repeticiones++; } /*debug for (int i=0; i<iSize;i++) { for (int j=0; j<jSize;j++) { System.out.print(matrizAuxiliar[i][j]); } } */ for (int j=0; j<jSize;j++) { for (int i=0; i<iSize;i++) { if (i==0) claveActual=claveActual + matriz[i][j]; output=output+matriz[i][j]; } } return output; /*debug for (int j=0; j<jSize;j++) { for (int i=0; i<iSize;i++) { System.out.print(matrizFinal[j][i]); } System.out.println(); } */ } public void modificarArreglo(int colActual, int rep) { //intercambia las columnas que pasan como param /*for (int i=0; i<matriz.length;i++) matrizAuxiliar[i][rep]=matriz[i][colActual];*/ char[]aux = new char[matriz.length]; for (int i=0; i<matriz.length;i++){ aux[i]=matriz[i][rep]; matriz[i][rep]=matriz[i][colActual]; matriz[i][colActual]=aux[i]; } } public boolean esElMenor(char[] arreglo, char car) { boolean menor=true; //asume que es el menor. int i =0; if (car==' ') menor = false; else { while ((i<arreglo.length)&&(menor)) { if ((arreglo[i]!=' ')&&(car!=' ')&&(arreglo[i]<car)) menor=!menor; else i++; } } return menor; } public static void main (String args []) { encriptador encriptador = new encriptador(); encriptador.codificar("Hola", "debci"); } }//fin clase encriptador
Tengo un out para que muestre pero no sale nada. Saludos
|
|
|
122
|
Seguridad Informática / Nivel Web / Duda standard xD
|
en: 14 Noviembre 2009, 16:02 pm
|
Hola amigos, me gustaria preguntarles que método usan para localizar XSS y SQLi en paginas web, yo personalmente uso scanners, pero no creo que sea la mejor manera. Como lo hacen uds.?
Saludos
|
|
|
123
|
Programación / ASM / Dudas varias, simples pero grandes para un noob como yo ^^
|
en: 9 Noviembre 2009, 22:04 pm
|
Hola amigos, me ha gustado ensamblador, y quiero aprender mas, en concreto son las siguientes dudas: 1- que significa que: int 0x80
Llama al kernel? Que es 0x80? 2- En el siguiente codigo: section .text global _start ;must be declared for linker (ld) _start: ;tell linker entry point [s]mov edx,len ;message length[/s] mov ecx,msg ;message to write mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db 'Hello, world!',0xa ;our dear string [s]len equ $ - msg ;length of our dear string[/s]
se que el segundo subrallado calcula los bytes que ocupa la llamada al hola, pero como puedo especificar desde donde quiero contra bytes? Para que sirve en un hello world una lectura de este tipo si ni si quiera la expresamos en pantalla? Que significa el primer subrallado? 3-que son: section .text _start: section .dataDeduzco que deben ser clases o metodos del ensamblador, pero no lo concretizo. Muchas gracias a todos, me estais haciendo una persona bien cultivada. Saludos
|
|
|
124
|
Programación / ASM / Duda sobre e
|
en: 8 Noviembre 2009, 21:43 pm
|
Amigos tengo una duda existencial, me gustaria saber como poner dos cadenas de texto en consola, se como se hace con una, que seria algo asi: section .text global _start ;must be declared for linker (ld) _start: ;tell linker entry point mov edx,len ;message length mov ecx,msg ;message to write mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db 'Hello, world!',0xa ;our dear string len equ $ - msg ;length of our dear string
Como podria poner 2? Saludos
|
|
|
125
|
Programación / ASM / Problema de novato
|
en: 8 Noviembre 2009, 14:00 pm
|
Hola amigos, estoy metiendome en esto del ensamblador, he creado mi primer programa, con nasm: section .text global _start ;must be declared for linker (ld) _start: ;tell linker entry point mov edx,len ;message length mov ecx,msg ;message to write mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db 'Hello, world!',0xa ;our dear string len equ $ - msg ;length of our dear string
Al compilar hago: debci@debci-laptop:~$ nasm -f elf test.asm debci@debci-laptop:~$ ld test.o -o test debci@debci-laptop:~$ gcc test.o -o test test.o: In function `_start': test.asm:(.text+0x0): multiple definition of `_start' /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o:/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:65: first defined here /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld devolvió el estado de salida 1 debci@debci-laptop:~$ ./test bash: ./test: No existe el fichero ó directorio debci@debci-laptop:~$ gcc test.o -o test test.o: In function `_start': test.asm:(.text+0x0): multiple definition of `_start' /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o:/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:65: first defined here /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld devolvió el estado de salida 1 debci@debci-laptop:~$
Y no crea el ejecutable :s Alguien sabe que me esta pasando? Saludos
|
|
|
126
|
Programación / Java / Resolucion de ecuaciones de segundo grado y primer grado tmb :s
|
en: 7 Noviembre 2009, 22:30 pm
|
Hola amigos, tengo que para solventar la X (incognita) en una ecuacion de segundo grado, debo hacer: x= (-b ± (b2-4·a·c)1/2)/(2·a) Pero no comprendo que es b, ni a, ni c Tambien preguntar cual seria la operacion equivalente para resolver las de primer grado. Pregunto esto porque lo planteo en mi programa y no se que valores pedirle al usuario para pasarselos a la operacion de x. Un saludo
|
|
|
127
|
Programación / Java / Control de Threads avanzado
|
en: 4 Noviembre 2009, 20:01 pm
|
Miren amigos, quier hacer que mi thread se ejecute, haga su funcion, se pause que otro metodo recoja los datos, y que continue su funcionamiento, es decir que haga que me de datos y que continue, tengo lo siguiente: //Esta clase se encarga de administrar y definir el comportamiento del proceso thread que refresca el //y obtiene datos del servidor. //Para ejecutar un thread ponemos new threadChat("Nombre del thread").start(); package procesos; /** * * @author Andoni Diaz */ public class threadChat extends Thread { public static String datoObtenido ; public static int contador; public threadChat (String str ) { super(str); } public void run() { for(int i = 0; i < 10; i++) { datoObtenido = "Hola"; contador=1; contador++; } } public static void main (String args []) { threadChat thread = new threadChat("Prueba"); thread.setPriority(10); thread.start(); thread.stop(); System. out. println(datoObtenido + contador ); } }
Cuando puedo pararlo y recobrar la ejecucion? Saludos
|
|
|
128
|
Informática / Electrónica / WINSADEX
|
en: 23 Octubre 2009, 16:49 pm
|
Hola amigos, hace poco he empezado con esto de la electronica y estoy usando el sadex, que para empezar esta bien ,es como logo. Me gustaria saber si alguien tiene el winsadex ya que las consultas en google son escasas tanto o mas que los resultados...
Saludos
|
|
|
129
|
Programación / Java / Descarga de archivos con estadisticas?
|
en: 21 Octubre 2009, 19:54 pm
|
Hola amigos, estoy haciendo un updater para un juego que necesita descargar un archivo, la cosa es que no se como hacer, bien no es la palabra, porque tengo la teoria pero no se como aplicar el rollo de los streams, o explico mi algoritmo:
Creo streams. Meto como getInpunStream un objecto URL, y intento saber cuanto bytes tiene, y calcular la velocidad en proporcion a lo que tiene en total y lo que descarga en un segundo. Pongo en una progress usando el cuarto proporcional en base si el archivo mide x bytes = 100% La cosa es que me faltan casi todos estos conceptos.
Alguna idea??
Saludos
|
|
|
|
|
|
|