美文网首页
文件操作以及加解密

文件操作以及加解密

作者: Dalvik_ | 来源:发表于2021-03-15 15:57 被阅读0次

1.文件的读。

 // fopen打开文件(参数1:文件路径 文件源,  参数2:模式 r(读) w(写)  rb(作为二进制文件读) rw(作为二进制文件写)  返回值 FILE 结构体)
#include <stdio.h>

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\acb.txt", "r");
    if (file) {
        char buffer[10];
      // fgets 根据缓存区大小读取文件
        while (fgets(buffer, 10, file)) {
            printf("%s", buffer);
        }
    }
   fclose(file);
    return 0;
}

2.文件的写。

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\write.txt", "w");
    if (file) {
        fputs("123121231!!!", file);
    }
    fclose(file);
}

3.文件复制。

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\file.txt", "rb");
    FILE *fileCopy = fopen("F:\\Cproject\\Class1\\fileCopy.txt", "wb");
    if (file && fileCopy) {
        char buffer[512];
        int len; // 每次读取的长度
        while ((len = fread(buffer, sizeof(char), 512, file)) != 0) {
            fwrite(buffer, sizeof(char), len, fileCopy);
        }
    }
   // 关闭文件
    fclose(file);
    fclose(fileCopy);
    return 0;
}

4.获取文件的大小。

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\file.txt", "rb");
    fseek(file, 0, SEEK_END); // 挪动文件的指针,到文件最末尾
    long file_size = ftell(file); //读取文件指针的位置
    printf("file size:%d\n", file_size);
    // 关闭文件
   fclose(file);
  
}

5.文件加密与文件解密。
文件加密

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\file.txt", "rb");
    FILE *fileDecode = fopen("F:\\Cproject\\Class1\\decodeFile.txt", "wb");
    int buffer;
    while ((buffer = fgetc(file)) != EOF) {
        fputc(buffer^4, fileDecode);
    }
    // 关闭文件
   fclose(file);
   fclose(fileDecode);
}

文件解密

int main() {
    FILE *file = fopen("F:\\Cproject\\Class1\\decodeFile.txt", "rb");
    FILE *fileEncode= fopen("F:\\Cproject\\Class1\\encodeFile.txt", "wb");
    int buffer;
    while ((buffer = fgetc(file)) != EOF) {
        fputc(buffer^4, fileEncode);
    }
    fclose(file);
    fclose(fileEncode);
}

6.字符串密码加密与解密。
加密

 
int main() {
    char *fileNameStr = "D:\\Temp\\IMG.jpg"; // 来源
    char * fileNameStrEncode = "D:\\Temp\\IMG_encode.jpg"; // 加密后的目标文件

    // 密钥
    char * password = "123456"; // 我现在做的事情:我的密钥 必须生效

    FILE * file = fopen(fileNameStr, "rb"); // r 必须字节提前准备好文件
    FILE * fileEncode = fopen(fileNameStrEncode, "wb"); // w 创建一个0kb的文件

    if (!file || !fileEncode) {
        printf("文件打开失败,请你个货检测:路径为%s路径的文件,看看有什么问题\n", fileNameStr);
        exit(0); // 退出程序
    }

    int c;
    int index = 0;
    int pass_len = strlen(password);
    while ((c = fgetc(file)) != EOF) {
        char item = password[index%pass_len];
        // 1 2 3 4 5 6  1 2 3 4 5 6  1 2 3 4 5 6 ...

        printf("item:%c%\n", item);
        fputc(c ^ item, fileEncode);
        index ++;
    }

    // 关闭文件
    fclose(file);
    fclose(fileEncode);
}

解密

int main() {

    char * fileNameStr = "D:\\Temp\\IMG_encode.jpg"; // 来源
    char * fileNameStrDecode = "D:\\Temp\\IMG_decode.jpg"; // 解密后的目标文件

    FILE * file = fopen(fileNameStr, "rb"); // r 必须字节提前准备好文件
    FILE * fileDecode = fopen(fileNameStrDecode, "wb"); // w 创建一个0kb的文件

    if (!file || !fileDecode) {
        printf("文件打开失败,请你个货检测:路径为%s路径的文件,看看有什么问题\n", fileNameStr);
        exit(0); // 退出程序
    }

    // 密钥
    char * password = "123456"; // 我现在做的事情:我的密钥 必须生效

    int  c;
    int index = 0;
    int pass_len = strlen(password);
    while ((c = fgetc(file)) != EOF) {
        fputc(c ^ password[index%pass_len], fileDecode);
        index++;
    }

    fclose(file);
    fclose(fileDecode);

    return 0;
}


相关文章

  • 文件操作以及加解密

    1.文件的读。 2.文件的写。 3.文件复制。 4.获取文件的大小。 5.文件加密与文件解密。文件加密 文件解密 ...

  • 创建一个高效的文件管理类

    基于NSFileManager和CryptoSwift封装一个简便的文件管理器,包含文件的操作及AES加解密 1....

  • C 文件操作

    读写操作 文件加解密思路: 小例子 文本内容,简单的公示,算出结果,并且讲解写回去 拷贝文件工具实例 fflush...

  • linux下的文件加解密利器

    linux下的文件加解密利器 linux下的文件加解密利器 1 gnupgp 安装 # apt-get insta...

  • base64的相关操作

    可以参考的文档base64中文参考文档 base64加解密 文件处理 base对文件的处理其实就是对文件的加解密处...

  • NDK 数据加解密-AES 对称加密

    前言 网络传输过程中对数据进行加解密是非常必要的操作,Java 就可以实现数据加解密操作,但是使用 NDK 来做能...

  • 专业实训2

    组长:李泽铭晖 组员:陈宏年, 李锐鹏,余慧敏 完成情况: 加解密文件 python 命令行版本 加解密文件 MF...

  • ndk05_文件操作,文件加解密,预处理

    一、文件操作 1.读取文本文件 2.写文本文件 #include "stdafx.h" #include ...

  • GO: 文件以及文件夹操作

    获取目录中所有文件 使用包: io/ioutil 使用方法:ioutil.ReadDir读取目录 dirname ...

  • 2-shutil模块

    shutil模块主要是对文件的高级操作,以及压缩文件等的操作,我们下来先来看该模块的主要方法,以及 该模块的详细的...

网友评论

      本文标题:文件操作以及加解密

      本文链接:https://www.haomeiwen.com/subject/biiyqltx.html