图片加密
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
//
// Created by szj on 2021/4/22.
//
int main() {
printf("C语言 图片加密....\n");
//图片加密与解密
//需要加密的地址
char *flieUrl = "/Users/shizhenjiang/Desktop/图片/C语言Flie测试/android.jpeg";
//加密后的地址
char *newFlieUrl = "/Users/shizhenjiang/Desktop/图片/C语言Flie测试/newAndroid.jpeg";
//密钥 (根据密钥来加密)
char *password = "12345";
//TODO 二进制读取旧的文件 写入到新的文件生成一个新的加密的文件
//参数一:文件路径
//参数二: "r"读取文件 "w" 写入文件 "rb"作为二进制文件读取 "rw"作为二进制文件写
FILE *file = fopen(flieUrl, "rb");
FILE *newFlie = fopen(newFlieUrl, "wb");
if (!file || !newFlie) {
printf("打开失败,请检查路径%s", flieUrl);
exit(0); //结束程序
}
//接收读取的值
int c;
//用来设置密钥
int index = 0;
//TODO EOF = end of flie 表示结束
while ((c = fgetc(file)) != EOF) {
//CC为最终密钥
int cc = password[index++ % strlen(password)];
//写入文件的时候,
fputc(c ^ cc, newFlie);
}
printf("文件加密成功!!\n");
printf("文件加密原路径为:%s\n", flieUrl);
printf("文件加密新路径为:%s", newFlieUrl);
//文件关闭
fclose(file);
fclose(newFlie);
return 0;
}
复制代码
- flieUrl 需要加密的图片地址
- newFlieUrl 加密生成的图片地址
加密格式为
char *password = "12345";
复制代码
根据’密钥’来加密;
图片解密
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
//
// Created by szj on 2021/4/22.
//
int main() {
printf("C语言 图片解密....\n");
//图片加密与解密
//需要加密的地址
char *flieUrl = "/Users/shizhenjiang/Desktop/图片/C语言Flie测试/newAndroid.jpeg";
//加密后的地址
char *newFlieUrl = "/Users/shizhenjiang/Desktop/图片/C语言Flie测试/newAndroid2.jpeg";
//TODO 二进制读取旧的文件 写入到新的文件生成一个新的加密的文件
//参数一:文件路径
//参数二: "r"读取文件 "w" 写入文件 "rb"作为二进制文件读取 "rw"作为二进制文件写
FILE *file = fopen(flieUrl, "rb");
FILE *newFlie = fopen(newFlieUrl, "wb");
if (!file || !newFlie) {
printf("打开失败,请检查路径%s", flieUrl);
exit(0); //结束程序
}
//密钥 (根据密钥来加密)
char *password = "12345";
//接收读取的值
int c;
//用来设置密钥
int index = 0;
//TODO EOF = end of flie 表示结束
while ((c = fgetc(file) )!= EOF) {
//CC为最终密钥
int cc = password[index++ % strlen(password)];
//写入文件的时候,
fputc(c ^ cc, newFlie);
}
printf("文件解密成功!!\n");
printf("文件解密原路径为:%s\n", flieUrl);
printf("文件解密新路径为:%s", newFlieUrl);
//文件关闭
fclose(file);
fclose(newFlie);
return 0;
}
复制代码
- flieUrl 被加密的图片地址(必须是加密的图片才能解密)
- newFlieUrl 解密后的图片地址
注意:
- 加密解密使用的密钥一定是相同的!
- 只有加密后的图片才能解密
原创不易,您的点赞就是对我最大的支持~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END