前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )

【C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )

作者头像
韩曙亮
发布2023-03-30 08:52:34
1.3K0
发布2023-03-30 08:52:34
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、导入第三方库头文件


对文件进行加密 , 将文件中的数据分成若干块 , 一块一块的进行加密 ;

加密操作 不需要自己开发 , 使用第三方开发的加密函数库 , 执行加密操作 ;

下面代码是导入的加密解密函数库头文件 :

代码语言:javascript
复制
/*********************************************************
 *  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++ 中使用 , 使用如下宏定义 包裹 头文件内容 ;

代码语言:javascript
复制
// 兼容 C++
#ifdef  __cplusplus
extern "C" {
#endif // __cplusplus



#ifdef  __cplusplus
}
#endif // __cplusplus

2、头文件导入限制

头文件导入限制 : 防止头文件多次导入 , 将头文件的内容 , 使用下面的宏定义包裹 ;

代码语言:javascript
复制
#ifndef _DES_H_
#define _DES_H_

#endif // _DES_H_

3、加密解密函数说明

加密解密函数说明 :

  • 加密函数 : 将输入的 in_data_len 字节大小的 数据 char *in_data , 加密成密文数据 , 通过 unsigned char *out_data 简介赋值输出 , 并指定加密后的密文长度 out_data_len , 也是通过间接赋值输出 ;
代码语言:javascript
复制
/**
 * @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 , 也是通过间接赋值输出 ;
代码语言:javascript
复制
/**
 * @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);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、导入第三方库头文件
  • 二、头文件说明
    • 1、兼容 C++ 语言
      • 2、头文件导入限制
        • 3、加密解密函数说明
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档