EVP AES_CBC加密解密记载

摘要: { fre_len = fread(source,sizeof(char),2*MSG_LEN,fre); printf("detct_len = %d\n",detct_len); memset(source,0,sizeof(source)); printf("source_len = %d\n",source_len); fclose(fre);

A8站源码交易平台


#include
#define MSG_LEN 16
#define DECRY 0
typedef enum{
    AES_EBC  
void my_evp_init()
//假如不经过初始化就调用了加密或摘要相关的EVP接口,则会回来过错。

    OpenSSL_add_all_algorithms();
//  OpenSSL_add_all_digest();
    return;
//对称算法
*@ciphername 算法称号,经过此称号找到EVP_CIPHER结构
*@aKey 对称算法秘钥
*
static int OpenSSL_Cipher(int ciphername, int dir, 
              const unsigned char *in, int inlen,
{
    const EVP_CIPHER *cipher = NULL;
    /* 初始化加密调用的上下文 */   
    /* 依据称号(如des-cbc,或rc4)获取CIPHER目标,OpenSSL支撑的算法称号能够用openssl enc -h指令列出 */ 
    cipher = EVP_get_cipherbyname(ciphername);
        fprintf( stderr, "OpenSSL_Cipher: Cipher for %s is NULL ", ciphername );

        goto err;
    #endif
    printf("AES_CBC is %d ",AES_CBC);
    {
        cipher = EVP_aes_128_cbc();
      default:
        return -9;
    /**
     * 假如运用Engine,此刻会调用其完成的EVP_CIPHER->init回调函数
    if (!EVP_CipherInit_ex(&ctx, cipher, NULL, aKey, iVec, dir)) {

        rv = -2;
    }

     * 对数据进行加/解密运算(假如运用Engine,此刻会调用其完成的EVP_CIPHER->do_cipher回调函数)
     */
        fprintf( stderr, "OpenSSL_Cipher: EVP_CipherInit failed ");

        goto err;
    /**
     * 留意:假如运用Engine,此刻会触发其完成的EVP_CIPHER->do_cipher,而不是EVP_CIPHER->cleanup
     */ 
        fprintf( stderr, "OpenSSL_Cipher: EVP_CipherInit failed ");

        goto err;
    *poutlen += tmplen;

    /* 开释上下文(假如运用Engine,此刻会调用其完成的EVP_CIPHER->cleanup回调函数) */    
    return rv;
void my_evp_free()
//与OpenSSl_add_all_algorithms正好相反
    return;
int main(int argc,char *argv[])
    EVP_ALGORITHM chname;
    printf("chname = %d ",chname);
    printf("chname = %d ",chname);
    int i = 0;
    int source_len = 0;
    unsigned char detct[4*MSG_LEN] = {0};
    my_evp_init();
    FILE * fre = fopen(argv[1],"rb");
    FILE * fwr = fopen(argv[2],"wb");
    unsigned char key[16] = {0};
    for(i = 0;i<16;i++)
    
    {
        fre_len = fread(source,sizeof(char),2*MSG_LEN,fre);
        printf("detct_len = %d ",detct_len);
        memset(source,0,sizeof(source));
        printf("source_len = %d ",source_len);
        
    fclose(fre);
    

    #endif
}
A8站源码交易平

  • 全部评论(0)
最新发布的资讯信息
【A8站-免费源码分享|直播源码】直播系统源码开发:关于安卓开发工具和obs直播推流(2020-10-30 09:41)
【计算机/互联网|】【独家修复】用户定制版短视频点赞系统,支持抖音+快手+刷宝+微视等所有主流短视频评论系统源码(2020-10-26 16:34)
【技术宅-为技术而疯|网站架设教程】【独家首发】最新更新已对接短信2020全新抖音快手点赞任务系统霸屏天下小红书头条威客兼职完整搭建架设视频教程(2020-10-25 13:56)
【技术宅-为技术而疯|网站架设教程】最新可用个人发卡网系统源码完整搭建架设视频教程(2020-10-25 10:53)
【技术宅-为技术而疯|网站架设教程】独家更新全新V10抢单系统唯品会京东淘宝自动抢单区块系统源码全开源抢单收单接单返利+搭建架设完整视频教程(2020-10-25 10:52)
【计算机/互联网|】柔丫纸尿裤云仓系统源码部署(2020-10-15 18:13)
【计算机/互联网|】侏罗纪软件模式定制开发(2020-10-14 15:33)
【计算机/互联网|】S2b2C供应商系统 营销闭环(2020-10-10 17:46)
【计算机/互联网|程序设计开发】盛都汇系统奖励机制(2020-10-10 17:20)
【A8站-免费源码分享|网站源码】积分商城系统APP开发(2020-09-23 14:56)
联系我们
Q Q:3101359898 点击直接对话
电话:18580901894
邮箱:admin#a8zhan.com
时间:09:00 - 24:00
手机二维码 访问手机版
返回顶部