Openssl-Blowfish

翻译 2012年03月29日 21:34:21

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的选项;




openssl blowfish 加密解密

前面对AES的使用进行了研究,这一节,介绍Blowfish,Blowfish也是一种对称加密算法,采用分组加密的模式。 C/C++采用openssl/crypt库调用,过程比较简单,直接看下...
  • tianjian_blog
  • tianjian_blog
  • 2015年02月12日 10:04
  • 745

Openssl 中DES,AES,BlowFish算法的运算速度比较

这两天写了Openssl中关于DES,AES,BlowFish等对称加密算法的API介绍。今天写了一个程序,测试了一下这三种加密算法的运算速度。 硬件环境:     X200, CPU: P860...
  • Sunspider107
  • Sunspider107
  • 2012年03月30日 16:25
  • 9151

OpenSSL之Blowfish对称加密

今天我们来看看如何用OpenSSL的API来实现Blowfish对称加解密。 什么是对称加密? 对称加密:简单来说,“加密”就是把容易识别的信息变成不易识别的信息;而“对称”则表示加密者和解密...
  • Kaiwii
  • Kaiwii
  • 2012年06月17日 10:02
  • 2593

Blowfish加密算法

摘要: Blowfish是一个64位分组及可变密钥长度的分组密码算法,可用来加密64Bit长度的字符串。算法由两部分组成:密钥扩展和数据加密。密钥扩展把长度可达到448位的密钥转变成总共4168字节...
  • u010408365
  • u010408365
  • 2015年12月08日 18:07
  • 1331

DES 3DES AES Blowfish 对称加密算法比较

随着数据安全性要求的日益提升,我们越发需要将数据进行加密。在接下来的内容里,我将对比一些常用的对称加密算法:DES(Data Encryption),3DES(Triple DES),AES(Adva...
  • nightelve
  • nightelve
  • 2013年11月21日 19:11
  • 11620

BlowFish算法加密解密

import java.security.MessageDigest; import java.util.Random; public class BlowFish { private Bl...
  • ToYueXinShangWan
  • ToYueXinShangWan
  • 2013年02月18日 11:45
  • 5235

openssl blowfish 加密解密

前面对AES的使用进行了研究,这一节,介绍Blowfish,Blowfish也是一种对称加密算法,采用分组加密的模式。 C/C++采用openssl/crypt库调用,过程比较简单,直接看下...
  • tianjian_blog
  • tianjian_blog
  • 2015年02月12日 10:04
  • 745

OpenSSL之Blowfish对称加密

今天我们来看看如何用OpenSSL的API来实现Blowfish对称加解密。 什么是对称加密? 对称加密:简单来说,“加密”就是把容易识别的信息变成不易识别的信息;而“对称”则表示加密者和解密...
  • Kaiwii
  • Kaiwii
  • 2012年06月17日 10:02
  • 2593

Blowfish各种语言版本

objective-c的blowfish实现代码,没有找到。于是使用c语言的代码来实现blowfish加密解密算法。另外附上其他两个版本的blowfish。 一:C版1、blowfish.c#incl...
  • sjzsp
  • sjzsp
  • 2011年06月20日 11:38
  • 7559

配置文件现在需要绝密的短语密码(blowfish_secret)解决方法

phpmyadmin提示:配置文件现在需要绝密的短语密码(blowfish_secret)解决方法。    问题:在登录phpmyadmin时,有时会出现“配置文件现在需要绝密的短语密码(blow...
  • zhu_hua_jie
  • zhu_hua_jie
  • 2014年06月10日 13:59
  • 2208
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Openssl-Blowfish
举报原因:
原因补充:

(最多只允许输入30个字)