openssl
为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。
OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

首先,应该感谢Eric A. Young和Tim J. Hudson,他们自1995年开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是一个没有太多限制的开放源代码的软件包,这使得我们可以利用这个软件包做很多事情。Eric A. Young 和Tim J. Hudson是加拿大人,后来由于写OpenSSL功成名就之后就到大公司里赚大钱去了。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持。

OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少。


RSA算法专题介绍页:
http://baike.baidu.com/view/10613.htm DES算法专题介绍页:
http://baike.baidu.com/view/878529.htm


对称算法(http://baike.baidu.com/view/7591.htm)
DES(数据加密标准)
TripleDES(三重数据加密标准)
Rijndael
RC2

非对称算法(http://baike.baidu.com/view/1490349.htm)
DSA(数字签名算法)
RSA

哈希算法(http://baike.baidu.com/view/273836.htm)
HMAC SHA1(使用 SHA1 哈希算法且基于哈希的消息身份验证代码)
MAC Triple DES(使用 Triple DES 的消息身份验证代码)
MD5
SHA1、SHA256、SHA384、SHA512(使用各种哈希大小的安全哈希算法)