文件加密、解密

用简单的异或运算进行加密,解密的话就是一个逆过程。

规则:1^1=0, 0^0=0, 1^0=1, 0^1=1 同为0,不同为1

void crpypt(char* filePath, char* crpyptFilePath){

    //打开文件,返回文件的指针
    FILE* f_read = fopen(filePath, "r");
    FILE* f_write = fopen(crpyptFilePath, "w");

    //文件是否成功打开
    if (f_read == NULL || f_write == NULL){
        printf("文件打开失败");
        return;
    }

    int ch;//一次读取一个字符,每一个字符都是一个数据,用int来表示
    //EOF End Of File = -1
    while ((ch = fgetc(f_read)) != EOF){
        fputc(ch ^ 9, f_write);//用异或运算进行加密
    }

    //关闭文件
    fclose(f_read);
    fclose(f_write);
}

void main(){

    //文件路径
    char* path = "D:\\test.txt";
    char* path_new = "D:\\test_new.txt";

    //文件加密crpypt
    crpypt(path, path_new);

    //文件解密decrpypt,是一个逆过程,注意先把原来的文件删除
    crpypt(path_new, path);

    system("pause");
}

results matching ""

    No results matching ""