Encriptador C++

Futuro
23 de Julio del 2008
Codigo pekeño de encriptador en C...

Bueno, estoy dandole caña a un pekeño y simple encriptador / desencriptador de mensajes.

Por ahora solo desencripta / encripta segun lo q introduzcas, me dijero q era muy bueno.

Si lo kieren, pongo el codigo completo aki (el archivo C) por si lo kieren ver, pero es muy simple.

Weno, a lo q voy:

este es el "algoritmo" de encriptacion:

for (i= 0, i < l-1, i++){
frase[i] = frase [i] + 3
}


Es decir, q por cada caracter de la frase a encriptar, le suma 3 a su valor ASCII, por ejemplo: A ---> D

Se que es un algoritmo muy tonto, por eso me gustaria que me dierais ideas de algoritmos de codificacion.....

Que no sean mu gordas, que luego hay q desencriptar!! :P

Otra cosa, como implementariais en C que se le meta una clave a la frase encriptada.

Es decir, aparte de que este encriptada, que para desencriptarla haya q meter una clave. Tengo algunas ideas al respecto, pero nada claro :s)

acreytu
23 de Julio del 2008
porfas com hago para encriptar todo el ascii

Oliverio
23 de Julio del 2008
Con una clave podrias restarle a cada letra un balor ascii de otra.
Para asegurarnos de lograr siempre caracteres imprimibles el rango que usaremos sera 32-122 (solo letras y numeros)
A la primera letra del mensage se le resta la primera de la clave.
Si el resultado es menor a 32 se empiesa a contar dede 122 y al reves si supera 122 se cuenta desde 32
EJ:
T E X T O Mensaje
C L A V E Clave
k S q X d Encriptado
T E X T O Desencriptado

bastante fasil ¿no?.

#include <stdio.h>

void main()
{
char msg[] = "TEXTO";
char clv[] = "CLAVE";
char enc[6]="";
char des[6]="";
int cont = 0;
int temp = 0;

// encriptador
for ( cont=0; cont<5; cont++ ){

temp = int(msg[cont]) - int(clv[cont]);

if ( temp < 32 ){
temp = 122 - ( 32 - temp );
}

if ( temp > 122 ){
temp = 32 + ( temp - 122);
}

enc[cont] = char(temp);
}

// desencriptador
for ( cont=0; cont<5; cont++ ){

temp = int(clv[cont]) + int(enc[cont]);

if ( temp < 32 ){
temp = 122 - ( 32 - temp );
}

if ( temp > 122 ){
temp = 32 + ( temp - 122);
}

des[cont] = char(temp);
}
printf("%s Mensajen%s Claven%s Encriptadon%s Desencriptadonn", msg, clv, enc, des);
}

rafael glez serrano TESVG
23 de Julio del 2008
mira es como un llenado de matriz y solo ordenas las letras como gsuytes en forma ordenada o desordenada yo las puse en orden por ue es mas facil...


//codigo
//autor: Dos neuronas

#include <conio.h>
#include <stdlib.h>
#include <stdio.h>

mensaje(){
//mi mensaje sera HOLA MUNDO

gotoxy(28,1);printf("H O L A M U N D O ");
}

llave(){

//mi llave sera sistemas

gotoxy(1,4);printf(" S\n I\n S\n T\n E\n M\n A\n S");
}
encriptado(){
gotoxy(28,2);textcolor(4);cprintf("J K L M N O P Q R S ");
}




encripta(){

int a,y;

for(y=3;y<=27;y++){
gotoxy(10,y);for(a=65;a<=90;a++){
printf("%c ",a);
}}


}




main() {
clrscr();


encripta();
llave();
mensaje();
encriptado();


getch();

}