没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
#include <openssl/evp.h>
#include <stdio.h>
#define N 1024
#define IN
//Aes算法ecb模式加密文件
/**********************************************************************
函数名称:AesEncryptFile
函数功能:加密文件
处理过程:
1.根据选择的密码算法以及口令,生成key和iv。
2.把文件头写入密文文件
3.循环读取原文文件数据加密后保存到密文文件路径中。
参数说明:
szSrc:[IN] char *,待加密的原文文件路径
szTarget:[IN] char *,加密后的密文文件保存路径
key:[IN] unsigned char *, 口令
iType:[IN] int, 加密类型(128或256)
返回值:成功返回1,否则返回0
************************************************************************/
int AesEncryptFile ( IN char * szSrc,
IN char * szTarget ,
IN unsigned char * key,
IN int iType)
{
unsigned char ukey[EVP_MAX_KEY_LENGTH];
unsigned char iv[EVP_MAX_IV_LENGTH];
unsigned char in[N];
int inl; //输入数据大小
unsigned char out[N];
#include <stdio.h>
#define N 1024
#define IN
//Aes算法ecb模式加密文件
/**********************************************************************
函数名称:AesEncryptFile
函数功能:加密文件
处理过程:
1.根据选择的密码算法以及口令,生成key和iv。
2.把文件头写入密文文件
3.循环读取原文文件数据加密后保存到密文文件路径中。
参数说明:
szSrc:[IN] char *,待加密的原文文件路径
szTarget:[IN] char *,加密后的密文文件保存路径
key:[IN] unsigned char *, 口令
iType:[IN] int, 加密类型(128或256)
返回值:成功返回1,否则返回0
************************************************************************/
int AesEncryptFile ( IN char * szSrc,
IN char * szTarget ,
IN unsigned char * key,
IN int iType)
{
unsigned char ukey[EVP_MAX_KEY_LENGTH];
unsigned char iv[EVP_MAX_IV_LENGTH];
unsigned char in[N];
int inl; //输入数据大小
unsigned char out[N];
int outl; //输出数据大小
int isSuccess;
FILE *fpIn;
FILE *fpOut;
EVP_CIPHER_CTX ctx; //evp加密上下文环境
const EVP_CIPHER *cipher;
fpIn = fopen(szSrc,"rb");
if(fpIn==NULL)
{
printf("fopen szSrc failed");
return 0;
}
fpOut = fopen(szTarget,"w+");
if(fpOut==NULL)
{
printf("fopen szTarget failed");
fclose(fpIn);
return 0;
}
//选择算法
if(iType == 128)
{
cipher = EVP_aes_128_ecb();
}
else if(iType == 256)
int isSuccess;
FILE *fpIn;
FILE *fpOut;
EVP_CIPHER_CTX ctx; //evp加密上下文环境
const EVP_CIPHER *cipher;
fpIn = fopen(szSrc,"rb");
if(fpIn==NULL)
{
printf("fopen szSrc failed");
return 0;
}
fpOut = fopen(szTarget,"w+");
if(fpOut==NULL)
{
printf("fopen szTarget failed");
fclose(fpIn);
return 0;
}
//选择算法
if(iType == 128)
{
cipher = EVP_aes_128_ecb();
}
else if(iType == 256)
剩余8页未读,继续阅读
资源评论
da_xiangxiang
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功