Bueno, no es dificil de usar.
1º Define un buffer, puede ser con un contenide texto o binario.
2º Define una clave.
3º Encríptalo.
Código:
char Buffer[] = "Este texto se va a encriptar."
DWORD Clave = 0x76349714;
Crypt(Buffer, l, (char*)&Clave, 0); // Encripta el Buffer
Si quieres hacerlo por partes, para escribir en un archivo...., cada parte:
Siendo HFile el manejador de un fichero abierto y
int WritePos lo ya escrito en el fichero
Código:
HFile = open(FileName.c_str(), O_CREAT | O_WRONLY | O_BINARY);
.
.
.
if(HFile)
if(WritePos < Text.Length()){
int Mod = WritePos%8;
int l = Text.Length()-WritePos;
BYTE *buffer = new BYTE[l+1];
buffer[l] = 0;
strcpy((char*)buffer, Text.c_str()+WritePos); // Hacemos una copia
Crypt(buffer, l, (char*)&Clave, Mod); // Encripta el buffer
write(HFile, buffer, l);
WritePos += l;
delete buffer;
}
El resultado, es binario, no es texto, por lo que se guardará en un archivo abierto en modo binario.
El buffer pasado como puntero se encriptam, por lo que si lo que se quiere en encriptar una copia y retener el original, deberá hacerse la misma antes de llamar a la función, y pasarle el puntero adecuado.
Experimenta.
Saludos.