我正在尝试了解一些弱加密的基础知识,但我陷入困境......我需要一个函数来调用来解密加密的文件。但我的主要问题是我该如何解密这个文件?请友善一点,我是新手! =]
另外,w.pdf 文件在项目文件夹中以常规 pdf 形式启动,并且我在程序中确实进行了错误检查,只是为了节省空间而将其排除在此处。
#include <stdio.h>
int main()
{
FILE *ptr1,*file,*ptr3;
unsigned long key;
int B,C;
ptr1=fopen("w.pdf","rb");
file=fopen("encryptFile.pdf","wb");
printf("Enter the encrypt key: ");
scanf("%ld",&key);
//Transfer contents
while((B=fgetc(ptr1))!=EOF)
fputc(C=B^(key & 0xff), file);
key=key^C;
puts("\nencryptFile.pdf has finished.");
rewind(file);
ptr3=fopen("new.pdf","wb");
//pdf file closing.
fclose(ptr1);
fclose(file);
fclose(ptr3);
return 0;
}
最佳答案
不用担心,每个人都从某个地方开始。 (但您可能应该从 Google、维基百科或 a lesson 开始,而不是从 StackOverflow 开始询问)
您的加密方案是使用用户输入的 key 来异或
内容。
要解密内容,您必须反转加密,在本例中只是再次使用 key 对内容进行异或。
其他一些有用的建议:
缩进代码,这对提高可读性大有帮助
更好地命名您的变量。
ptr1
可以是encryptionTarget
、clearText
或f_pdfFile
关于c - 如何创建一个函数来解密加密文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23525296/