加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

使用C中的EVPAPI使用openssl加密文件的正确方法

发布时间:2023-01-30 17:04:13 所属栏目:安全 来源:互联网
导读: 我想做的是:加密一个可执行文件,然后稍后解密。
我的问题是:通过exe正确循环。
以下是我的代码当前的样子:
unsigned char ckey[] = "thiskeyisverybad";
unsigned char ivec[] =

我想做的是:加密一个可执行文件,然后稍后解密。

我的问题是:通过exe正确循环。

以下是我的代码当前的样子:

  unsigned char ckey[] =  "thiskeyisverybad";
  unsigned char ivec[] = "dontusethisinput";
//Initiate the EVP interface
EVP_CIPHER *c = EVP_aes_256_cbc();
//Initialize symmetric cypher
EVP_CIPHER_CTX *ctx = (EVP_CIPHER_CTX) malloc(sizeof(EVP_CIPHER_CTX));
EVP_CIPHER_CTX_init(ctx);
//Set up cypher contex
EVP_EncryptInit(ctx,c,ckey,ivec);

当然,有更好的方法来设置密钥和iv(我正在阅读《使用openssl的网络安全》一书)。这不是我的问题,我的问题是如何正确加载exe并对其进行加密。根据我的理解,我应该以rb模式打开它并阅读它。我不明白的是我应该使用多大的块。我明白,在调用EVP_EncryptUpdate时,我必须输入输入缓冲区和缓冲区长度。我想知道如何读取输入exe。我是否应该在文件中循环文档加密方式,并在每次迭代中读取一个AES_块大小?实现这一目标的正确方法是什么?

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!