Red de conocimiento informático - Conocimiento informático - Descifrar la programación

Descifrar la programación

Me tomó mucho tiempo. Mira, ha sido probado.

# include ltstdio.h gt

# include ltstring.h gt

Estructura Typedef contraseña/*método de cifrado*/

{

char PS[10]; /*cadena cifrada*/

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

}contraseña;

void print txt(); //Mostrar el archivo en la pantalla

void encode(); //Cifrado

void decode() //Descifrar< / p>

void setkey(); //Establecer contraseña

void main()

{

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

Printf("1. Establecer el método de cifrado\ n "

Printf("2. Cifrado\n ");

Printf("3.Descifrado\n");

Salir\n ");

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

selección de caracteres;

mientras (1)

{

Printf("Vuelva a ingresar 1 ~ 4 : ");

fflush(stdin);

scanf("c ", selección de amplificador);

Interruptor (selección)

{

Caso "1":

setkey();

Romper

Caso "2":

encode();

Interrupción;

Caso "3":

decode();

Interrupción;

Caso "4":

Printf("¡Gracias por usarlo! ¡Salir ahora!\n ");

Regresar;

}

}

}

void setkey()

{

ARCHIVO * pfile

Nombre de ruta de carácter[50];

Contraseña pw;

fflush(stdin);

Printf("Ruta de clave completa:");

Obtener (nombre de ruta);

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

{

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

Regresar;

}

Printf("Ingrese la contraseña: "

obtiene(pw . PS);

pw . wd = strlen(pw . PS);

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

Printf("¡La clave se guardó correctamente!\n ");

fclose(pfile);

}

codificación nula( )

{

ARCHIVO *pfile, *pkey, *pefile

nombre de ruta de la clave char[50];

nombre de ruta del archivo char [50];

char efilepathname[50];

Clave de contraseña;

Archivo de contraseña;

int I;

fflush(stdin);

Printf("Ruta de clave completa:");

Obtener (nombre de ruta de clave);

if (( pkey = fopen(keypathname, " Rb)) = = NULL)

{

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

Return;

}

fflush(stdin);

Printf("La ruta completa del archivo antes del cifrado: ");

Obtener (efilepathname);

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

{

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

Regresar;

}

fflus

h(stdin);

Printf("Ruta completa del archivo cifrado:");

Obtener (nombre de ruta del archivo);

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

{

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

Return;

}

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

fflush(stdin); ("Ingrese texto sin formato:");

Obtener (archivo . PS

archivo wd = strlen(archivo . PS); (archivo.ps, 1, archivo.wd, archivo PE);

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

{

archivo .PS[I]=(archivo . PS[I] clave . PS[I]-48)

}

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

Printf("¡Cifrado exitoso!\n ");

fclose(pfile);

fclose(pkey);

fclose(pkey);

p>

fclose(archivo PE);

}

void decode()

{

ARCHIVO *pfile,* pkey, * pdfile

nombre de ruta de la clave char[50];

nombre de ruta del archivo char[50];

char dfilepathname[50];

Clave de contraseña;

Archivo de contraseña;

int I;

fflush(stdin);

Printf("Ruta de clave completa: ");

Obtener (nombre de ruta de clave);

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

{

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

Retorno;

}

fflush( stdin);

Printf("Ruta completa del archivo:");

Obtener (nombre de ruta del archivo);

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

{

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

Regresar;

}

fflush(stdin);

Printf("Ruta completa descifrada: ") ;

Obtener (dfilepathname);

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

{

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

Return;

}

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

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

r(I = 0;i!= archivo.wd i)

{

archivo PS[I]=(archivo . PS[I]-clave . PS[I] 48 122) 122;

}

fwrite(file.ps, 1, file.wd, archivo PD);

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

print txt();

archivo . PS[file . wd]= ' \ 0 ';

Printf("Descifrar texto sin formato: s\n ", archivo . PS);

fclose(pfile);

fclose(pkey);

fclose(archivo pdf);

}

void printtxt()

{

FILE * pfile

nombre de ruta del archivo char[50];

p>

Archivo de contraseña;

int I;

fflush(stdin);

Printf("Ruta completa del archivo original :");

Obtener (nombre de ruta del archivo);

if ((pfile = fopen(nombre de ruta del archivo, " Rb ")== NULL)

{

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

Return;

}

file.wd = fread(archivo .ps, 1, 10, pfile);

archivo . PS[file ]= '\0';

Printf("Texto sin formato del archivo original: s\n ", archivo . PS);

fclose(pfile);

}