Openssl-Blowfish

Blowfish是一种对称加密算法,密钥长度16个字节,加密的数据块长度是8个字节,由于加密/解密需要的时间长,一般用于用户密码加盐算法的加密上。

openssl中提供的blowfish函数,与DES,AES算法相同,下面是简要的介绍。

void BF_set_key(BF_KEY *key, int len, const unsigned char *data);

设定Key;

key: Blowfish key对象;

len: 数据长度;

data: 密钥数据;


void BF_encrypt(BF_LONG *data,const BF_KEY *key);

单个数据块的加密;

data: 数据,输入/输出是相同的数据区;

key: blowfish密钥数据;


void BF_decrypt(BF_LONG *data,const BF_KEY *key);

单个数据块解密;


void BF_ecb_encrypt(const unsigned char *in, unsigned char *out,

    const BF_KEY *key, int enc);

BlowFish的ECB加密/解密计算;

in: 源数据;

out: 输出数据;

key: 密钥对象;

enc:加密/解密模式, 加密: BF_ENCRYPT, 解密:BF_DECRYPT


void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length,

    const BF_KEY *schedule, unsigned char *ivec, int enc);

BlowFish的CBC加密/解密计算;

in: 源数据;

out: 输出数据;

length: 数据长度;

schedule: 密钥对象;

ivec: 初始化向量;

enc:加密/解密模式, 加密: BF_ENCRYPT, 解密:BF_DECRYPT


void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, long length,

    const BF_KEY *schedule, unsigned char *ivec, int *num, int enc);

BlowFish的CFB64加密/解密计算;

in: 源数据;

out: 输出数据;

length: 数据长度;

schedule: 密钥对象;

ivec: 初始化向量;

num: 参与计算的block数;

enc:加密/解密模式, 加密: BF_ENCRYPT, 解密:BF_DECRYPT




void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length,
    const BF_KEY *schedule, unsigned char *ivec, int *num);

BlowFish的OFB64加密计算;

in: 源数据;

out: 输出数据;

length: 数据长度;

schedule: 密钥对象;

ivec: 初始化向量;

num: 参与计算的block数;




const char *BF_options(void);

BlowFish的选项;




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中提到了openssl speed命令的用法。其中,-evp选项用于指定使用EVP加密算法进行性能测试。具体用法如下: openssl speed -evp [算法名称] 其中,算法名称可以是以下之一: - md2 - mdc2 - md5 - hmac - sha1 - sha256 - sha512 - whirlpool - rmd160 - idea-cbc - seed-cbc - rc2-cbc - rc5-cbc - bf-cbc - des-cbc - des-ede3 - aes-128-cbc - aes-192-cbc - aes-256-cbc - aes-128-ige - aes-192-ige - aes-256-ige - camellia-128-cbc - camellia-192-cbc - camellia-256-cbc - rc4 - rsa512 - rsa1024 - rsa2048 - rsa4096 - dsa512 - dsa1024 - dsa2048 - ecdsap160 - ecdsap192 - ecdsap224 - ecdsap256 - ecdsap384 - ecdsap512 - ecdsak163 - ecdsak233 - ecdsak283 - ecdsak409 - ecdsak571 - ecdsab163 - ecdsab233 - ecdsab283 - ecdsab409 - ecdsab571 - ecdsa - ecdhp192 - ecdhp224 - ecdhp256 - ecdhp384 - ecdhp512 - ecdhk163 - ecdhk233 - ecdhk283 - ecdhk409 - ecdhk571 - ecdhb163 - ecdhb233 - ecdhb283 - ecdhb409 - ecdhb571 - ecdh - idea - seed - rc2 - des - aes - camellia - rsa - blowfish 所以,要使用openssl speed -evp命令,只需要替换为所需的加密算法即可。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [openssl 的VC工程for openssl-1.0.0e](https://download.csdn.net/download/hello_hi_hi/3640407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [OpenSSL命令---speed](https://blog.csdn.net/as3luyuan123/article/details/16851125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值