摘要: 9.1 随机数 随机数是一种无规律的数,但是真正做到完全无规律也比较困难,所有一般将它称为伪随机数。 9.2 openssl随机数数据结构与源码 a.openssl生成随机数的源码位于crypto/rand目录下。openssl维护一个内部随机状态数据(md_rand.c中定义的全局变量state和 阅读全文
posted @ 2018-01-16 21:15 艾小小雨 阅读(2954) 评论(0) 推荐(0) 编辑
摘要: 8.1 概述 openssl采用自定义的配置文件获取配置信息。 段信息,段信息由[xxx]来表示,其中xxx为段标识; 属性-值信息,表示方法为a=b,这种信息可以在一个段内页可以不属于任何段。 典型配置文件为apps/openssl.cnf(同时该文件也是openssl最主要的配置文件) # Op 阅读全文
posted @ 2018-01-16 21:14 艾小小雨 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 7.1 openssl抽象IOopenssl抽象(I/O abstraction,即BIO)是openssl对于io类型的抽象封装,包括:内存、文件、日志、标准输入输出、socket(TCP/UDP)、加解密、摘要和ssl通道等。Openssl BIO通过回调函数为用户隐藏了底层实现细节,所有的类型 阅读全文
posted @ 2018-01-16 21:13 艾小小雨 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 6.1 动态库加载 动态库加载函数能让用户在程序中加载所需要的模块,各个平台下的加载函数是不一样。动态加载函数一般有如下功能: a.加载动态库 比如windows下的函数LoadLibraryA;linux下的函数dloopen b.获取函数地址 比如windows下的函数GetProcAddres 阅读全文
posted @ 2018-01-16 19:41 艾小小雨 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 5.1 openssl内存分配 openssl供用户调用内存分配等函数主要在crypto/mem.c中实现,其那只的分配函数在crypto/mem_dbg.c中实现。默认情况下mem.c中函数mem_dbg.c中实现。如果用户的内存分配函数以及查找内存泄漏的函数,可以通过CRYPTO_set_mem 阅读全文
posted @ 2018-01-16 19:40 艾小小雨 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 4.1 哈希表 在一般的数据结构如线性表和树中,记录在结构中的相对位置与记录的关键字之间不存在确定的关系,在结构中查找记录时需要进行一系列的关键字比较。这一类查找方法建立在比较的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和他的关键字之间建立的对应 阅读全文
posted @ 2018-01-16 19:39 艾小小雨 阅读(291) 评论(0) 推荐(0) 编辑