openssl是一个功能丰富且自包含的开源安全工具箱
openssl主要有5大功能:
1.哈希表
2.BIO实现
3.Base64
4.md4,md5,sha,sha256,sha512
5.RSA 非对称加密
哈希表主要用于查找数据(它的速度比红黑树和B树还快)
哈希表主要有content和key组成,两者形成映射 f(content)->idx 这个函数称为哈希函数
抽象IO
用于IO的抽象封装,包括:内存,文件,日志,标准输入输出,socket,加/解密,摘要和ssl通道。
BIO中的数据能够从一个BIO传送到另外一个BIO或者应用程序
BASE64编解码
将数据编码成BASE64编码时,以3字节为一组,转换成24BIT的二进制数,再把二进制数分成4组,每组6bit,每一组都能得到一个数字,0-63,然后根据这个数字得到以下表的结果
md4,md5,sha,sha256,sha512
摘要函数用于将任意数据通过计算获取唯一对应值,而这个值的长度比较短。它是一种多对一的关系。理论上,这个短的值对应原来的数据。这个过程是不可逆的,也不能通过摘要值来计算原始数据。摘要在信息安全中有非常重要的作用。常用的摘要算法有:sha,sha1,sha256,sha512和md5,md4
RSA算法
RSA是一个广泛使用的公钥算法,其秘钥包括公钥和私钥。它能用于数字签名,身份认证以及秘钥的交换。RSA秘钥长度一般使用1024或者更高。RSA秘钥信息主要过程:秘钥生成,RSA加解密计算,签名与验证。