<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sunspider107的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Sunspider107</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Sunspider107]]></copyright><item><title><![CDATA[no OPENSSL_Applink 的错误]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7645121</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7645121</guid><author>Sunspider107</author><pubDate>Fri, 08 Jun 2012 13:51:00 +0800</pubDate><description><![CDATA[今天调试一个openssl程序，编译链接都没有问题，运行时提示：
OPENSSL_Uplink(006E9000,08): no OPENSSL_Applink 
在网上查了一下，发现下面这个方法是对的。


在自己的程序中，加上这样的源代码：


extern "C"
{
#include 
}



直接将applink中的代码，链接到自己的exe程序中，而不是间]]></description><category></category></item><item><title><![CDATA[沟通之难]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7467557</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7467557</guid><author>Sunspider107</author><pubDate>Tue, 17 Apr 2012 15:38:03 +0800</pubDate><description><![CDATA[很多年之前，作为工程师开发项目，遇到问题时自己努力想办法解决，不愿意向老板讲问题所在，更是反感老板来问进度，这样下去，结果可想而知，到最后自己每天的辛苦并没有得到老板的赏识，反而积累很多误会，在工资待遇，职位升迁上不如那些爱和老板通气的同事。这种情况也让自己苦恼很久，认为自己没有跟对老板，老板都是糊涂蛋。直到自己做了开发管理，也带工程师开发项目，才理解了作为管理者的苦衷。

周一做项目计划，对]]></description><category></category></item><item><title><![CDATA[Openssl-MD2]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7447221</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7447221</guid><author>Sunspider107</author><pubDate>Tue, 10 Apr 2012 21:46:51 +0800</pubDate><description><![CDATA[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)]]></description><category></category></item><item><title><![CDATA[Openssl-rc5]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7442823</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7442823</guid><author>Sunspider107</author><pubDate>Mon, 09 Apr 2012 21:53:35 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[Openssl-rc4]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7434696</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7434696</guid><author>Sunspider107</author><pubDate>Sat, 07 Apr 2012 11:14:39 +0800</pubDate><description><![CDATA[RC4 对称加密算法，属于流式加密算法，可以对任意长度的数据做加密，计算速度快，实现简单，所以应用广泛，比如TLS传输数据的加密，WEP，WPA无线加密等等。
RC4是1987年由Ron Rivest设计的，算法从来没有被正式公开过，网上泄露的代码的计算结果，经过验证，与正式算法的输出相同，关于RC4的介绍，也是基于作者在网上写的笔记。
const char *RC4_options(void]]></description><category></category></item><item><title><![CDATA[Openssl-rc2]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7430177</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7430177</guid><author>Sunspider107</author><pubDate>Thu, 05 Apr 2012 21:56:58 +0800</pubDate><description><![CDATA[RC2是一种对称加密算法，所见到的安全解决方案中，使用RC2的算法不多，从资料上看，RC2算法可以替代DES算法，而且计算速度快，能在16位计算机上实现，密钥长度从1到128字节都可以。一般采用16字节，计算的数据块为8字节。


void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data,int bits);
设置密]]></description><category></category></item><item><title><![CDATA[Openssl-HMAC]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7420630</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7420630</guid><author>Sunspider107</author><pubDate>Sun, 01 Apr 2012 22:38:08 +0800</pubDate><description><![CDATA[HMAC是计算MAC的一种方法，有密钥参与计算，不采用HASH算法，对数据做hash计算，并用密钥加密，计算出MAC数值；


void HMAC_CTX_init(HMAC_CTX *ctx);
初始化ctx，在计算MAC之前必须调用此函数；


void HMAC_CTX_cleanup(HMAC_CTX *ctx);
将ctx中密钥数据及其他相关数据清楚，如果不再计算ctx，]]></description><category></category></item><item><title><![CDATA[初级软件开发管理]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7413175</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7413175</guid><author>Sunspider107</author><pubDate>Fri, 30 Mar 2012 22:20:45 +0800</pubDate><description><![CDATA[负责团队一线管理工作的，大多是做而优则仕，在编程上表现优异，被提拔成组长，是否具备管理才能，是否适合做管理，一般不会被公司特别考虑，更别说管理经验了，新官上任三把火，刚刚被授予管理权力的开发人员，在管理上很积极，但由于缺乏经验，也常常做出过犹不及的事情来，这么多年工作中，遇到过下面几种情况：
    老好人，还是希望靠自己的能力提升整个组的开发能力，这种人是组内开发中坚，有问题大家都去找他，象个]]></description><category></category></item><item><title><![CDATA[Openssl 中DES，AES，BlowFish算法的运算速度比较]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7411964</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7411964</guid><author>Sunspider107</author><pubDate>Fri, 30 Mar 2012 16:25:42 +0800</pubDate><description><![CDATA[这两天写了Openssl中关于DES，AES，BlowFish等对称加密算法的API介绍。今天写了一个程序，测试了一下这三种加密算法的运算速度。
硬件环境：
    X200， CPU： P8600,2.2G， 内存： 2G
软件环境：
    Windows XP SP3
    
测试方法：
    DES： 3DES ECB模式，密钥长度16个字节，加密/解密8个字节；]]></description><category></category></item><item><title><![CDATA[Openssl-Blowfish]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7408959</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7408959</guid><author>Sunspider107</author><pubDate>Thu, 29 Mar 2012 21:34:21 +0800</pubDate><description><![CDATA[Blowfish是一种对称加密算法，密钥长度16个字节，加密的数据块长度是8个字节，由于加密/解密需要的时间长，一般用于用户密码加盐算法的加密上。
openssl中提供的blowfish函数，与DES，AES算法相同，下面是简要的介绍。

void BF_set_key(BF_KEY *key, int len, const unsigned char *data);
设定Key；
ke]]></description><category></category></item><item><title><![CDATA[Openssl-SHA1]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7400034</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7400034</guid><author>Sunspider107</author><pubDate>Tue, 27 Mar 2012 18:37:43 +0800</pubDate><description><![CDATA[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,]]></description><category></category></item><item><title><![CDATA[Openssl-MD5]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7395904</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7395904</guid><author>Sunspider107</author><pubDate>Mon, 26 Mar 2012 17:58:30 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[Openssl Des-3]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7392007</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7392007</guid><author>Sunspider107</author><pubDate>Sun, 25 Mar 2012 13:46:39 +0800</pubDate><description><![CDATA[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_]]></description><category></category></item><item><title><![CDATA[Openssl Des-2]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7391848</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7391848</guid><author>Sunspider107</author><pubDate>Sun, 25 Mar 2012 12:18:07 +0800</pubDate><description><![CDATA[int DES_enc_read(int fd,void *buf,int len,DES_key_schedule *sched,
         DES_cblock *iv);
使用此函数时要小心，如果写入的数据超过MAXWRITE个字节，那么数据将会被分割成多个数据块，每个数据加密时使用的IV相同。因此，在使用此函数时，一定要了解此函数的内部实现机制；
此函数客户从文件，或者soc]]></description><category></category></item><item><title><![CDATA[Openssl Des - 1]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7385334</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7385334</guid><author>Sunspider107</author><pubDate>Sat, 24 Mar 2012 22:07:43 +0800</pubDate><description><![CDATA[DES部分的编码，和AES有明显的不同，作者应该不是同一个人。
显卡一下类型的定义：
定义了参与计算的数据类型，其实就是字符数组。

typedef unsigned char DES_cblock[8];
这个定义很有意思，把const修饰符去掉了，原因是gcc2.8.1 在Solaris上会有问题。

typedef /* const */ unsigned char const]]></description><category></category></item><item><title><![CDATA[Openssl AES]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7375816</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7375816</guid><author>Sunspider107</author><pubDate>Wed, 21 Mar 2012 22:15:36 +0800</pubDate><description><![CDATA[OpenSSL提供了AES加解密算法的API


const char *AES_options(void);
AES算法状态，是全部支持或者是部分支持。
返回值：“aes(full)” 或者"aes(partial)"


int AES_set_encrypt_key(const unsigned char *userKey, const int bits,AES_KEY *k]]></description><category></category></item><item><title><![CDATA[Openssl 随机数生成]]></title><link>https://blog.youkuaiyun.com/Sunspider107/article/details/7364770</link><guid>https://blog.youkuaiyun.com/Sunspider107/article/details/7364770</guid><author>Sunspider107</author><pubDate>Tue, 20 Mar 2012 22:08:29 +0800</pubDate><description><![CDATA[Openssl中生成随机数的函数，定义在rand.h 文件中。
最直接的用法是调用函数：
int  RAND_bytes(unsigned char *buf,int num);
根据加密算法生成随机数，其实也是一个伪随机数，但是，如果在调用此函数之前，设定好随机种子，那么生成的随机数是不能被预先计算出来的。

buf：输出，生产的随机数存储的数组；
num： 输入，生产的随机数个数；]]></description><category></category></item></channel></rss>