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;

}

相关推荐
Ada's11 分钟前
【计算机基础系列】python语言:环境搭建
开发语言·python
xiaoshuaishuai813 分钟前
C# Avalonia UI的ItemControl
开发语言·ui·c#
未若君雅裁13 分钟前
JMM、volatile 与 CAS:并发安全三大问题
java·开发语言
hai31524754313 分钟前
# 矩阵算法·算子对齐工具 v6.1 — 技术规格与使用手册
java·开发语言·驱动开发·神经网络·spring·目标检测·矩阵
曾几何时`21 分钟前
Go(三)GC垃圾回收
开发语言
并不喜欢吃鱼22 分钟前
一.C++11:统一列表初始化 + std::initializer_list 超详细精讲
开发语言·c++
CHHH_HHH30 分钟前
【C++】二叉搜索树全面升级,深度剖析AVL树
开发语言·数据结构·c++·算法·stl
xgstb31 分钟前
计算机编程语言
c语言·编译器·标准·计算机编程语言·历史沿革
奋斗的小方33 分钟前
Java基础篇09(2):项目实战之基于swing的石头迷阵
java·开发语言
Evand J1 小时前
【代码介绍】自适应R的AEKF(自适应扩展卡尔曼滤波)和经典EKF比较,MATLAB例程|三维非线性系统
开发语言·matlab·ekf·自适应·自适应滤波