【C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )
2023-06-13 09:18:00 时间
文章目录
一、导入第三方库头文件
对文件进行加密 , 将文件中的数据分成若干块 , 一块一块的进行加密 ;
加密操作 不需要自己开发 , 使用第三方开发的加密函数库 , 执行加密操作 ;
下面代码是导入的加密解密函数库头文件 :
/*********************************************************
* des.h
* DES 加密算法头文件
*********************************************************/
#ifndef _DES_H_
#define _DES_H_
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
/**
* @brief des_encode DES 加密操作
* @param in_data 输入数据
* @param in_data_len 输入数据长度
* @param out_data 输出数据
* @param out_data_len 输出数据长度
* @return
*/
int des_encode(
unsigned char *in_data,
int in_data_len,
unsigned char *out_data,
int *out_data_len);
/**
* @brief des_decode DES 解密操作
* @param in_data 输入数据
* @param in_data_len 输入数据长度
* @param out_data 输出数据
* @param out_data_len 输出数据长度
* @return
*/
int des_decode(
unsigned char *in_data,
int in_data_len,
unsigned char *out_data,
int *out_data_len);
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // _DES_H_
二、头文件说明
1、兼容 C++ 语言
兼容 C++ 语言 : 为了使该头文件既可以在 C 语言中使用 , 又可以在 C++ 中使用 , 使用如下宏定义 包裹 头文件内容 ;
// 兼容 C++
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
#ifdef __cplusplus
}
#endif // __cplusplus
2、头文件导入限制
头文件导入限制 : 防止头文件多次导入 , 将头文件的内容 , 使用下面的宏定义包裹 ;
#ifndef _DES_H_
#define _DES_H_
#endif // _DES_H_
3、加密解密函数说明
加密解密函数说明 :
- 加密函数 : 将输入的
in_data_len
字节大小的 数据char *in_data
, 加密成密文数据 , 通过unsigned char *out_data
简介赋值输出 , 并指定加密后的密文长度out_data_len
, 也是通过间接赋值输出 ;
/**
* @brief des_encode DES 加密操作
* @param in_data 输入数据
* @param in_data_len 输入数据长度
* @param out_data 输出数据
* @param out_data_len 输出数据长度
* @return
*/
int des_encode(
unsigned char *in_data,
int in_data_len,
unsigned char *out_data,
int *out_data_len);
- 解密函数 : 将输入的
in_data_len
字节大小的 数据char *in_data
, 加密成密文数据 , 通过unsigned char *out_data
简介赋值输出 , 并指定加密后的密文长度out_data_len
, 也是通过间接赋值输出 ;
/**
* @brief des_decode DES 解密操作
* @param in_data 输入数据
* @param in_data_len 输入数据长度
* @param out_data 输出数据
* @param out_data_len 输出数据长度
* @return
*/
int des_decode(
unsigned char *in_data,
int in_data_len,
unsigned char *out_data,
int *out_data_len);
相关文章
- EasyC++17,C++指针初探(三)
- 实战中遇到的C++流文件重置的一个大陷阱 为什么ifstream的seekg函数无效
- C++读写文件操作(fstream、ifstream、ofstream、seekg、seekp、tellg、tellp用法)[通俗易懂]
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- c++文件读写操作
- ROS2机器人-C++和Python怎么选
- 判断DLL文件是C/C++动态链接库还是.NET程序集及查看DLL依赖
- C u002F C++ 中的多维数组
- C++字符串加密_c++字符串连接函数
- 原来C++变量在内存中不是紧密排列的,聊聊内存对齐
- C/C++ 实现内存特征码搜索
- C/C++ Qt 基本文件读写方法
- C++ 中文周刊 第100期
- C++11:多线程(1)
- C++/Php/Python/Shell 程序按行读取文件或者控制台详解编程语言
- C++文件输入输出流(无师自通)
- C++ binary_search(STL binary_search)二分查找算法详解
- C++二进制文件读写(read和write)详解
- C++ const常量在多文件编程中的3种用法
- C++ STL无序容器自定义哈希函数和比较规则(超级详细)
- MySQL中使用C操作实现多线程事务安全(c++ mysql 锁)
- C++获取zip文件列表方法
- C++普通函数指针与成员函数指针实例解析