【openssl资源】
作者:Eric Yang等
官方网站:http://www.openssl.org
中文网站推荐:http://gdwzh.126.com
当前版本: openssl-0.9.7
【Cryptlib】
作者:Wei Dai
下载网站:http://www.cs.auckland.ac.nz/~pgut001/cryptlib/download.html
当前版本:Version 5.0
或者http://sourceforge.net/project/downloading.php?groupname=cryptopp&filename=cryptopp552.zip&use_mirror=nchc
当前版本: Version 5.5.2
目前开放源代码的加密库中,openssl和cryptlib都是比较流行的,本文将根据自己的一点理解对这两个库作一些比较,希望能对大家有用。这两个库的构造思想和目的都不太一样. Openssl主要是针对SSL/TLS协议的实现,SSL的功能体现的非常完善,而算法库只是一个附带的必要部分,当然也是非常重要和完善的一个部分。Crypylib则就是实现了加密算法以及相关的一些编码标准。
【openssl的组成和特点】
openssl是一个非常优秀的SSL/TLS开放源码软件包,它包括SSL库、加密算法库以及应用程序三大部分,并提供了测试程序和一些应用例子,实现了SSL/TLS协议和其相关的PKI标准。openssl因为开发的比较早,所以采用了c语言作为编写的语言,但是,openssl里面确可以找到很多面向对象的思想,如BIO的封装就是一个典型的例子。对于刚刚开始接触openssl的技术人员来说,可能会觉得有点困难,因为openssl的结构非常膨大,即便要阅读完其非常不完善的文档,工作量也是非常膨大的。建议开始接触openssl的时候,除了有一些基本的密码学和PKI的概念外,最好从使用它提供的一些应用程序开始。其实,openssl的应用程序已经很完善,许多CA就是基于这些基础上做成的。
对于很多人来说,openssl应用程序就足以完成他们需要的功能,openssl应用程序主要提供了下列的一些功能:
1.各种类型密钥以及密钥参数的生成和格式转换功能
2.使用各种加密算法进行数据加密的功能
3.证书请求、证书生成和签发以及证书其它相关标准的转换功能,实现了一个CA的功能
4.信息摘要算法以及其相关编码的实现
5.SSL协议模拟客户端和服务器端的实现,可以用来测试SSL服务器和SSL客户端程序。
【Cryptlib的组成和特点】
Cryptlib实现了各种公开密钥算法、对称加密算法、数字签名算法、信息摘要算法以及其相关的其它算法等等。它采用C++语言编写而成,因为是面向对象语言,所以对于初学者来说更容易理清其结构。该库没有提供应用程序,只是作为库函数提供应用。因为基于C++面向对象的思想,其算法的剥离相对于openssl来说可能更加容易。对于不需要涉及SSL协议的技术人员来说,使用该库函数应用是一个不错的选择。
【应用现状以及建议】
<clk> 目前,很多CA以及其它PKI<nobr id="clickeyekey0" onclick="kwC(event,0)" oncontextmenu="return false" onmouseover="kwE(event,0, this)" onmouseout="kwL(event,this)" onmousemove="kwM(0)" style="text-decoration: underline; color: rgb(102, 0, 255); background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: rgb(102, 0, 255); ">商业</nobr>程序都是基于openssl开发的,基于openssl开发的好处周期非常短,而且功能强大。而Cryptlib因为仅仅局限于加密算法,所以其应用没有openssl广泛,但是对于只需要加密算法的情况来说,这是一个更好的选择。</clk>
建议如果你的应用涉及到SSL等PKI协议,应该使用openssl,如果只是应用一些加密算法,则建议使用Cryptlib.
分享到:
相关推荐
基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于openssl的ftp文件传输系统源码基于...
实现EVP_aes_128(256)_ecb模式,适合初学者熟悉openssl中的加密解密函数。可运行..
易语言源码易语言OpenSSL加密算法源码.rar
SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本。SSL采用公开密钥技术
OpenSSL RSA AES加密解密C++源码
OPENSSL源码.rar
https://blog.csdn.net/u014220105/article/details/84851031 先查看大致的思路确定是非有需要,部分代码源于其它地方,这里为测试代码 均已编译调试成功,欢迎指点,不喜勿喷
易语言OpenSSL加密算法源码,OpenSSL加密算法,AES_CBC_encrypt,NoPadding,pkcs5padding,ISO10126Padding,Padding_dec,random,Base64Encoding,Base64Decrypt,AES_set_encrypt_key,AES_cbc_encrypt,AES_set_decrypt_key
易语言OpenSSL加密算法源码。@资源源码站。
sftp二次开发库,基于ssh开源库进行封装,二次开发库包含sftp封装接口模块,以及openssl、ssh库源码以及交叉编译方法,直接编译调用模块即可,方便使用 sftp.c、sftp.h、openssl-3.0.2.tar.gz、libssh2-1.10.0.tar....
直接导入openssl_tools包,即可使用。在生产环境中,有时会需要用到自签名的证书,而谷歌浏览器从2016年开始就降低了sha1的算法级别,openssl默认使用的是sha1的算法。 bio = BIO_new_connect("hostname:port"); if...
基于Openssl的ECC加密程序,实现简短数据加密
Cryptlib实现了各种公开密钥算法、对称加密算法、数字签名算法、信息摘要算法以及其相关的其它算法等等。它采用C++语言编写而成,因为是面向对象语言,所以对于初学者来说更容易理清其结构。该库没有提供应用程序...
vc6.0+openssl实现MD5加密器源码
openssl-1.0.2源码,可以适用于各种编译器,很好的源码
基于iPhone15.5.sdk版本的OpenSSL库
AES
利用开源的OpenSSL包开发的小程序,实现了加密传送信息的功能,包括加密,数字签名,防抵赖等常用信息安全功能
基于OpenSSL的一个加密解密工具,涵盖了AES等主流对称密码算法。有源码和可执行文件。
Openssl头文件以及lib库文件用于VS2013,其他的vs版本未测试,下载的时候请务必看清楚,本人github上的md5,rsa加密解密,des加密解密用的是此版本,都是vs2013测试通过。