如何创建解密加密文件的函数?

时间:2014-05-07 18:18:00

标签: c file pdf encryption

我正在尝试获得一些弱加密的基础知识,但我在墙上....我需要一个函数来调用它来解密加密文件。但我的主要问题是如何解密此文件?请你好,我是新来的! =]
另外,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;
}

1 个答案:

答案 0 :(得分:0)

不用担心,每个人都从某个地方开始。 (但你应该从谷歌,维基百科或a lesson开始,而不是开始询问StackOverflow)

您的加密方案是使用用户输入的密钥xor内容。

要解密内容,您必须撤消加密,在这种情况下,加密只是xor内容。

其他一些有用的建议:

  • 缩进你的代码,它将大大有助于使其可读

  • 更好地命名变量。 ptr1可以是encryptionTargetclearTextf_pdfFile