C语言加密汉字、图片

// encryp.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <string.h>

#include <stdlib.h>

unsigned char doEncryp(const unsigned char* src, int srcLen, unsigned char* out_) {

if (!src || !srcLen || !out_)

return 0;

for (int i = 0; i < srcLen - 1; i += 2) {

out_i = srci + 1;

out_i + 1 = srci;

}

if (0 != srcLen % 2) {

out_srcLen - 1 = srcsrcLen - 1;

}

return 1;

}

int _tmain(int argc, _TCHAR* argv\[\])

{

while (1) {

printf("请输入指令,0:退出,1:加密汉字,2:加密图片:");

int cmd = 0;

scanf("%d", &cmd);

if (0 == cmd)

break;

if (1 == cmd) {

printf("请输入汉字:");

char swords4096 = { 0 };

scanf("%s", swords);

char result4096 = { 0 };

if (doEncryp((unsigned char*)swords, strlen(swords), (unsigned char*)result)) {

printf("加密后的汉字是:%s\r\n", result);

}

}

else if (2 == cmd) {

printf("请输入图片完整路径(比如:c:\\1.jpg):");

char picPath255 = { 0 };

scanf("%s", picPath);

FILE* fp = fopen(picPath, "rb");

if (!fp) {

printf("输入的文件路径不存在!!!\r\n");

}

else {

fseek(fp, 0, SEEK_END);

int fsize = ftell(fp);

fseek(fp, 0, SEEK_SET);

unsigned char* src = (unsigned char*)malloc(fsize);

unsigned char* dest = (unsigned char*)malloc(fsize);

fread(src, fsize, 1, fp);

fclose(fp);

if (doEncryp(src, fsize, dest)) {

char destFname255 = { 0 };

sprintf(destFname, "%s_加密", picPath);

FILE* fp2 = fopen(destFname, "wb");

fwrite(dest, fsize, 1, fp2);

fclose(fp2);

printf("加密后的图片已保存到:%s\r\n", destFname);

}

free(src);

free(dest);

}

}

}

return 0;

}

相关推荐
郝学胜-神的一滴2 分钟前
Qt 高级编程 037:QSS按钮样式封神指南
开发语言·c++·qt·软件工程·用户界面
DFT计算杂谈3 分钟前
SCIENTIFIC REPORTS 非 van der Waals可调二维磁性材料设计平台
开发语言·php
库拉库拉里12 分钟前
深入理解 C# 异步编程:同步、Task.Wait () 与 await 的本质区别及实践指南
开发语言·c#
霍霍的袁22 分钟前
【C++】string类 从 入门使用 到 底层深浅拷贝模拟实现
开发语言·c++·visual studio
酷在前行28 分钟前
【R绘图】Nature Communications 半眼图复刻:分布、区间与多面板排版(保姆级教程)
android·开发语言·r语言
C++、Java和Python的菜鸟41 分钟前
第10章 后端Web进阶(Maven高级)
开发语言·python
神罚天下ET1 小时前
.NET 新增功能系列文章——C# 中的新增功能
开发语言·c#·.net
所愿ღ1 小时前
SSM框架-Spring3
java·开发语言·笔记·spring
noipp2 小时前
推荐题目:洛谷 P3726 [AHOI2017/HNOI2017] 抛硬币
c语言·数据结构·c++·算法·编程·洛谷·luogu
c238562 小时前
C/C++每日一练14
c语言·c++·算法