openssl blowfish 加密解密

本文介绍了Blowfish作为对称加密算法的使用,重点在于如何通过openssl库在C/C++中实现加密解密操作。文章提供了一段展示具体调用流程的代码示例。
摘要由CSDN通过智能技术生成


前面对AES的使用进行了研究,这一节,介绍Blowfish,Blowfish也是一种对称加密算法,采用分组加密的模式。


C/C++采用openssl/crypt库调用,过程比较简单,直接看下面代码:

#include <stdio.h>

#include "evp.h" 

#define BREAK_ERROR(msg){\
    fprintf(stderr,"error break [%s]\n",msg);\
    break;\
}

#define CIPHER_INFO(e){\
    fprintf(stderr,"key_len:[%d]",EVP_CIPHER_CTX_key_length(e));\
    fprintf(stderr,"iv_len :[%d]",EVP_CIPHER_CTX_iv_length(e));\
    fprintf(stderr,"mode:[%d]",EVP_CIPHER_CTX_mode(e));\
    fprintf(stderr,"flag:[%d]\n",EVP_CIPHER_CTX_flags(e));\
}

int test_ecb_blowfish(char *buf1,char *buf2,char *buf3,int *len1,int *len2,int *len3,unsigned char *key){
    int ret = 0,tmplen;
    *len2 = *len3 = tmplen = 0; 

    /* encrypt */
    EVP_CIPHER_CTX ctx;
    EVP_CIPHER_CTX_init(&ctx);
    EVP_EncryptInit_ex(&ctx,EVP_bf_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值