自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 no OPENSSL_Applink 的错误

今天调试一个openssl程序,编译链接都没有问题,运行时提示:OPENSSL_Uplink(006E9000,08): no OPENSSL_Applink 在网上查了一下,发现下面这个方法是对的。在自己的程序中,加上这样的源代码:extern "C"{#include }直接将applink中的代码,链接到自己的exe程序中,而不是间

2012-06-08 13:51:00 8497 2

原创 沟通之难

很多年之前,作为工程师开发项目,遇到问题时自己努力想办法解决,不愿意向老板讲问题所在,更是反感老板来问进度,这样下去,结果可想而知,到最后自己每天的辛苦并没有得到老板的赏识,反而积累很多误会,在工资待遇,职位升迁上不如那些爱和老板通气的同事。这种情况也让自己苦恼很久,认为自己没有跟对老板,老板都是糊涂蛋。直到自己做了开发管理,也带工程师开发项目,才理解了作为管理者的苦衷。周一做项目计划,对

2012-04-17 15:38:03 952

翻译 Openssl-MD2

MD2算法,是Ronald Rivest 于1989年设计的一种信息摘要算法,专门为8位cpu优化设计的算法,虽然MD2算法已经被认为不再安全,但在PKI系统中仍然有应用。与MD5的20个字节不同,MD2的计算结果是16个字节。const char *MD2_options(void);MD2算法选项,定义INT类型;int MD2_Init(MD2_CTX *c)

2012-04-10 21:46:51 1682

翻译 Openssl-rc5

RC5是对称加密算法,由Ronald Rivest在1994年设计的分组加密算法,计算速度快,算法简单,AES作为RC6算法,就是基于RC5而来。RC5分组是可变的,可以是32,64,128位,密钥长度0到2040位。计算0-255轮,推荐使用的参数为,数据分组64位,密钥长度128位,计算12轮。void RC5_32_set_key(RC5_32_KEY *key, int l

2012-04-09 21:53:35 2666

翻译 Openssl-rc4

RC4 对称加密算法,属于流式加密算法,可以对任意长度的数据做加密,计算速度快,实现简单,所以应用广泛,比如TLS传输数据的加密,WEP,WPA无线加密等等。RC4是1987年由Ron Rivest设计的,算法从来没有被正式公开过,网上泄露的代码的计算结果,经过验证,与正式算法的输出相同,关于RC4的介绍,也是基于作者在网上写的笔记。const char *RC4_options(void

2012-04-07 11:14:39 2551

翻译 Openssl-rc2

RC2是一种对称加密算法,所见到的安全解决方案中,使用RC2的算法不多,从资料上看,RC2算法可以替代DES算法,而且计算速度快,能在16位计算机上实现,密钥长度从1到128字节都可以。一般采用16字节,计算的数据块为8字节。void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data,int bits);设置密

2012-04-05 21:56:58 3278

翻译 Openssl-HMAC

HMAC是计算MAC的一种方法,有密钥参与计算,不采用HASH算法,对数据做hash计算,并用密钥加密,计算出MAC数值;void HMAC_CTX_init(HMAC_CTX *ctx);初始化ctx,在计算MAC之前必须调用此函数;void HMAC_CTX_cleanup(HMAC_CTX *ctx);将ctx中密钥数据及其他相关数据清楚,如果不再计算ctx,

2012-04-01 22:38:08 11770

原创 初级软件开发管理

负责团队一线管理工作的,大多是做而优则仕,在编程上表现优异,被提拔成组长,是否具备管理才能,是否适合做管理,一般不会被公司特别考虑,更别说管理经验了,新官上任三把火,刚刚被授予管理权力的开发人员,在管理上很积极,但由于缺乏经验,也常常做出过犹不及的事情来,这么多年工作中,遇到过下面几种情况:    老好人,还是希望靠自己的能力提升整个组的开发能力,这种人是组内开发中坚,有问题大家都去找他,象个

2012-03-30 22:20:45 1249 1

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

这两天写了Openssl中关于DES,AES,BlowFish等对称加密算法的API介绍。今天写了一个程序,测试了一下这三种加密算法的运算速度。硬件环境:    X200, CPU: P8600,2.2G, 内存: 2G软件环境:    Windows XP SP3    测试方法:    DES: 3DES ECB模式,密钥长度16个字节,加密/解密8个字节;

2012-03-30 16:25:42 12274 2

翻译 Openssl-Blowfish

Blowfish是一种对称加密算法,密钥长度16个字节,加密的数据块长度是8个字节,由于加密/解密需要的时间长,一般用于用户密码加盐算法的加密上。openssl中提供的blowfish函数,与DES,AES算法相同,下面是简要的介绍。void BF_set_key(BF_KEY *key, int len, const unsigned char *data);设定Key;ke

2012-03-29 21:34:21 4710

翻译 Openssl-SHA1

SHA1算法,是对MD5的升级,计算结果长度20个字节;推荐用户使用此算法, SHA256,SHA384,SHA512是对SHA1的升级;函数的使用方法同SHA1相同。int SHA_Init(SHA_CTX *c);初始化SHA Context;返回值: 1 成功,0 失败;int SHA_Update(SHA_CTX *c, const void *data,

2012-03-27 18:37:43 9108 1

翻译 Openssl-MD5

MD5是最常用的一个信息摘要算法,虽然现在慢慢被SHA1算法替代,但还是应用广泛。MD5的计算结果是16个字节。int MD5_Init(MD5_CTX *c);初始化MD5 Context参数;c: MD5 context;返回值: 1: 成功, 0: 失败;int MD5_Update(MD5_CTX *c, const void *data, si

2012-03-26 17:58:30 4827

翻译 Openssl Des-3

int DES_set_key(const_DES_cblock *key,DES_key_schedule *schedule);将key值设定到schedule中;key: key的值;schedule: key,输出参数;返回值:1,密钥经过检验, 0, 密钥没有经过检验;int DES_key_sched(const_DES_cblock *key,DES_key_

2012-03-25 13:46:39 3810

翻译 Openssl Des-2

int DES_enc_read(int fd,void *buf,int len,DES_key_schedule *sched,         DES_cblock *iv);使用此函数时要小心,如果写入的数据超过MAXWRITE个字节,那么数据将会被分割成多个数据块,每个数据加密时使用的IV相同。因此,在使用此函数时,一定要了解此函数的内部实现机制;此函数客户从文件,或者soc

2012-03-25 12:18:07 1599

翻译 Openssl Des - 1

DES部分的编码,和AES有明显的不同,作者应该不是同一个人。显卡一下类型的定义:定义了参与计算的数据类型,其实就是字符数组。typedef unsigned char DES_cblock[8];这个定义很有意思,把const修饰符去掉了,原因是gcc2.8.1 在Solaris上会有问题。typedef /* const */ unsigned char const

2012-03-24 22:07:43 5462

翻译 Openssl AES

OpenSSL提供了AES加解密算法的APIconst char *AES_options(void);AES算法状态,是全部支持或者是部分支持。返回值:“aes(full)” 或者"aes(partial)"int AES_set_encrypt_key(const unsigned char *userKey, const int bits,AES_KEY *k

2012-03-21 22:15:36 16484 1

翻译 Openssl 随机数生成

Openssl中生成随机数的函数,定义在rand.h 文件中。最直接的用法是调用函数:int  RAND_bytes(unsigned char *buf,int num);根据加密算法生成随机数,其实也是一个伪随机数,但是,如果在调用此函数之前,设定好随机种子,那么生成的随机数是不能被预先计算出来的。buf:输出,生产的随机数存储的数组;num: 输入,生产的随机数个数;

2012-03-20 22:08:29 27394

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除