📄 uncrypt.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dir.h>
//僼傽僀儖暅崋壔
main (int argc, char* argv[]) {
char ch;
FILE *fp; //擖椡僼傽僀儖億僀儞僞
FILE *wfp; //弌椡僼傽僀儖億僀儞僞
char filename[256]; //擖椡僼傽僀儖柤
char outfilename[256]; //弌椡僼傽僀儖柤
char dirname[] = "crypt"; //弌椡僼傽僀儖嶌惉僨傿儗僋僩儕
char key[128]; //埫崋僉乕
int keylen; //埫崋僉乕偺挿偝
int i = 0;
//埫崋壔僼傽僀儖柤偺寛掕
if (argc > 1) {
strcpy(filename, argv[1]);
} else {
printf("僼傽僀儖柤傪擖椡偟偰壓偝偄 > ");
scanf("%s", filename);
}
//埫崋僉乕偺擖椡
printf("埫崋僉乕傪擖椡偟偰壓偝偄 > ");
scanf("%s", key);
keylen = strlen(key);
//埫崋壔僼傽僀儖乮擖椡僼傽僀儖乯僆乕僾儞
if((fp = fopen(filename, "rb")) == NULL) {
printf("僼傽僀儖僆乕僾儞僄儔乕\n");
exit(1);
}
//暅崋壔僼傽僀儖乮弌椡僼傽僀儖乯僆乕僾儞
mkdir(dirname);
strcpy(outfilename, dirname);
strcat(outfilename, "/");
strcat(outfilename, filename);
if((wfp = fopen(outfilename, "wb")) == NULL) {
printf("僼傽僀儖僆乕僾儞僄儔乕\n");
exit(1);
}
//暅崋壔
while (fread(&ch, sizeof(char), 1, fp) == 1) {
ch = ch - key[i++];
if(i >= keylen) { i = 0; }
fwrite(&ch, sizeof(char), 1, wfp);
}
fclose(wfp);
fclose(fp);
printf("僼傽僀儖 %s 傪暅崋壔偟傑偟偨\n", filename);
printf("嶌惉僼傽僀儖丗%s\n", outfilename);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -