 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
alex_999 Ens

Registrado: 05 Mar 2005Mensajes: 46Ubicación: Ceuta
|
Publicado: Dom 06 Mar, 2005 4:20 pm Asunto: Encriptacion |
|
|
Hola, jej, este es mi primer post despues de mirarme mas de 67 paginas. Y me gustaria saber si alguien sabe algun tutorial de encriptacion, o donde haya algoritmos de encriptacion. Ya me he mirado los dos que hay en el otro foro y no lo entiendo, por eso me gustaria aprender(y aparte no tengo la libreria papiro.h)
gracias de antemano _________________ Si me quieres retar, aceptare.
Entra en http://www.exides.net, el mejor MMOG de españa!! |
|
| Volver arriba |
|
 |
nuno Cmdr

Registrado: 10 Feb 2003Mensajes: 143Ubicación: Córdoba - Argentina
|
Publicado: Lun 07 Mar, 2005 3:12 pm Asunto: |
|
|
Hola alex, esta es una funcion que saque del foro, anda bastante bien y es bastante segura, ya que tu asignas la mascara donde dice char aClave[7][7] = { le puedes poner la que tu quieras} lo que hace basicamente es un Xor por lo cual para usarla solo tienes que llamarla una ves y encripta la cedena y para desencriptar la llamas de nuevo, le pasas la cedan encriptada y te vuelve a la original.
Espero que te sirva
Saludos!!!
AnsiString encriptar(char *cVariable)
{
char aClave[7][7] = {"111100\0", "111010\0", "110010\0", "111110\0", "101010\0"};
AnsiString cCambio, cBin1, cBin2, cClave;
int nChar, nDato, nValor;
cCambio = "";
nDato = 0;
nChar = 0;
while (cVariable[nChar] != NULL)
{
if (nDato > 5)
nDato = 0;
//////// valor en ASCII
nValor = cVariable[nChar];
cBin1 = "";
cBin2 = "";
cClave = aClave[nDato];
/////////////Convierte a binario////////////////
while (nValor > 1)
{
cBin1 = IntToStr(nValor % 2) + cBin1;
nValor = INT(nValor / 2);
}
cBin1 = IntToStr(nValor) + cBin1;
//////////////////Agrega 0 hasta igualar////////
if (cBin1.Length() > cClave.Length())
while (cClave.Length() < cBin1.Length())
cClave = "0" + cClave;
else
while (cBin1.Length() < cClave.Length())
cBin1 = "0" + cBin1;
//////////////////XOR Binario///////////////////
for (int j = cClave.Length(); j > 0; j--)
cBin2 += cClave.SubString(j,1) ^ cBin1.SubString(j,1);
/////////////Transforma a decimal///////////////
nValor = 0;
for (int j = cBin2.Length(); j > 0; j--)
nValor += StrToInt(cBin2.SubString(j,1)) * pow(2, (j - 1));
////////////////////////////////////////////////
cCambio += CHAR(nValor);
nDato ++;
nChar ++;
}
return (cCambio);
} |
|
| Volver arriba |
|
 |
alex_999 Ens

Registrado: 05 Mar 2005Mensajes: 46Ubicación: Ceuta
|
Publicado: Mar 08 Mar, 2005 4:05 pm Asunto: re |
|
|
Muchas gracias, aunque me da error la funcion pow, no la conozco, pero gracias de todos modos.  _________________ Si me quieres retar, aceptare.
Entra en http://www.exides.net, el mejor MMOG de españa!! |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mie 09 Mar, 2005 12:35 am Asunto: |
|
|
include <math.h>
y listo !!!
saludos |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|