Red de conocimiento informático - Material del sitio web - Programación universitaria, procesamiento de cifrado y descifrado, ayuda!!!!

Programación universitaria, procesamiento de cifrado y descifrado, ayuda!!!!

Me tomó mucho tiempo, échale un vistazo, ha sido probado

#include lt; stdio.hgt

#include string.hgt;

typedef struct contraseña /* Método de cifrado*/

{

char ps[10] /* Cadena cifrada*/

long wd; * Número de bytes cifrados*/

}contraseña;

void printtxt(); //muestra el archivo en la pantalla

void encode(); /encriptar

void decode(); //descifrar

void setkey(); //establecer contraseña

void main()

{

printf("************************************\n ") ;

printf("1.Establecer método de cifrado\n");

printf("2. Cifrar\n");

printf( "3 . Descifrar\n");

printf("4.Salir\n");

printf("*************** ***** ************* *****\n");

elección de carácter;

mientras (1)

{

printf("Vuelva a escribir 1~4:");

fflush(stdin);

scanf("c"); , amp; elección)

switch(elección)

{

caso '1':

setkey(); p>

romper;

caso '2':

codificar();

romper

caso '3'; :

decode();

break;

case '4':

printf("¡Gracias por usarlo! ¡Saldremos pronto! \n");

return;

}

}

}

void setkey()

{

ARCHIVO* pfile;

nombre de ruta de caracteres[50];

contraseña pw

fflush( stdin);

p>

printf("Ruta completa de la clave: ");

gets(nombre de ruta

if ((pfile = fopen); (nombre de ruta, "wb")) == NULL)

{

printf("¡Error al abrir el archivo! \n");

Return;

}

printf("Por favor, introduzca la contraseña

: ");

gets(pw.ps);

pw.wd = strlen(pw.ps);

fwrite(pw.ps, 1 , pw.wd, pfile );

printf("¡Clave guardada correctamente!\n");

fclose(pfile); >

codificación nula()

{

ARCHIVO *pfile, *pkey, *pefile

char keypathname[50];

char filepathname[50];

char efilepathname[50];

clave de contraseña

archivo de contraseña

int; i;

fflush(stdin);

printf("Ruta de acceso completa: "

gets(keypathname); if ((pkey = fopen(keypathname, "rb")) == NULL)

{

printf("¡Error al abrir la clave!\n");

Return;

}

fflush(stdin);

printf("Ruta completa del archivo antes del cifrado: "); > obtiene(efilepathname);

if ((pefile = fopen(efilepathname, "wb")) == NULL)

{

printf("Abrir Error de clave! \n");

Retorno;

}

fflush(stdin);

printf("Archivo cifrado El ruta completa de: ");

gets(filepathname);

if ((pfile = fopen( filepathname, "wb")) == NULL)

{

printf("¡Error al abrir el archivo!\n");

Retorno

}

key.wd = fread; (key.ps, 1, 10, pkey);

fflush(stdin);

printf("Ingrese el texto sin formato:

obtiene); (archivo.ps);

archivo.wd = strlen(archivo.ps);

fwrite(archivo.ps, 1, archivo.wd, pefile);

for (i = 0; i ! = archivo.wd; i)

{

archivo.ps[i] = (archivo.ps[i] clave.ps [i] - 48) 122;

}

fwrite(file.ps, 1, file.wd, pfile);

printf( "Cifrado exitoso ! \n");

fclose(parchivo);

fclose(pkey);

fclose(pfile);

fclose(pefile);

}

void decode( )

{

ARCHIVO *pfile, *pkey, * pdfile;

char nombre de ruta clave[50]

char nombre de ruta de archivo[50] ];

char dfilepathname[50];

clave de contraseña

archivo de contraseña

int

fflush(stdin);

printf("Ruta completa de la clave: ");

gets(keypathname);

if ((pkey = fopen( nombre de ruta clave, "rb")) == NULL)

{

printf("¡Error de clave abierta!\n"); >

}

fflush(stdin);

printf("Ruta completa del archivo: "); >

if ((pfile = fopen( filepathname, "rb")) == NULL)

{

printf("¡Error al abrir el archivo!\n");

p>

Retorno;

}

fflush(stdin);

printf("Ruta completa descifrada: ");

gets(dfilepathname);

if ((pdfile = fopen( dfilepathname, "wb")) == NULL)

{

printf("¡Error al abrir el archivo! \n");

Retorno

}

key.wd = fread(key.ps, 1, 10, pkey);

file.wd = fread(file.ps, 1, 10, pfile

for (i = 0; i ! = archivo.wd; i)

{

archivo.ps[i] = (archivo.ps[i] - clave.ps[i] 48 122) 122; p>

}

fwrite(file.ps, 1, file.wd, pdfile);

printf("¡Descifrado exitoso!\n");

printtxt();

file.ps[file.wd] = '\0';

printf("Texto plano descifrado: s\n", file. ps) ;

fclose(pfile);

fclose(pkey).

fclose(pdfile);

}

void printtxt()

{

ARCHIVO* pfile;

char filepathname[50];

archivo de contraseña

int i; > fflush(stdin);

printf("Ruta completa al archivo original: ");

gets(filepathname

if ((pfile = fopen); (nombre de ruta de archivo, "rb")) == NULL)

{

printf("¡Error al abrir el archivo original!\n");

retorno;

}

archivo.wd = fread(archivo.ps, 1, 10, pfile); = '\0';

printf("Texto sin formato del archivo original: s\n", file. ps);

fclose(pfile);

}