Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Necesito un favor para encriptar

Estas en el tema de Necesito un favor para encriptar en el foro de C/C++ en Foros del Web. Hola .. soy nuevo!! Necesito un favor.. Resulta que tengo que encriptar un nombre.. sea cual sea.. la cuestion es asi... de cada caracter mover ...
  #1 (permalink)  
Antiguo 04/04/2007, 19:11
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Necesito un favor para encriptar

Hola .. soy nuevo!!
Necesito un favor..
Resulta que tengo que encriptar un nombre.. sea cual sea.. la cuestion es asi...
de cada caracter mover los primeros cuatro bits cuatro posiciones a la derecha y los otro 4 bits cuatro posiciones a la izquierda.. algo asi
0 0 1 0 0 1 1 0 a 0 1 1 0 0 0 1 0

Pero el problema es el siguiente... las letras como desde la i hasta la p .. o por ahy.. no me desencriptan bien.. aqui les dejo el codigo a ver si alguien me puede dar una mano:


#include <string.h>
#include <stdio.h>
#include <conio.h>
void main(){
char x[20],a,b,c,i=0,y[20],z;
printf("nombre: ");
scanf("%s",x);
do
{
b=x[i]&15;
c=x[i]&240;
b<<=4;
c>>=4;

printf("%c",c|b);
y[i]=c|b;
if(x[i]==0)
break;
i++;
}while(i<20);
i=0;
do{ b=y[i]&15;
c=y[i]&240;
b<<=4;
c>>=4;

printf("%c",c|b);

if(y[i]==0)
break;
i++;
}while(i<20);
// printf("%s",x);

getch();


}
  #2 (permalink)  
Antiguo 05/04/2007, 22:09
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Necesito un favor para encriptar

Pues tu modo de encriptacion es lo que se le llama hacer un "swap".

Solo te voy a recomendar algo:

Crea una funcion que haga algo asi.

Cita:
funcion encriptar_desencriptar(byte arg)
{
return ((arg&0xF)<<4)|((arg&0xF0)>>4);
}
Y usala para encriptar y para desencriptar, ya que en realidad el proceso 2 veces regresa al resultado original.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.