Crypto++入门-安装Crypto++是一个C++编写的密码学类库。读过《过河卒》的朋友还记得作者的那个不愿意去微软工作的儿子吗,就是Crypto++的作者WeiDai。Crypto++是一个非常强大的密码学库,在密码学界很受欢迎,最初还是Rivest(RSA的R)门下的一个博士姐姐把这个库介绍给我的。虽然网络上可以找到很多密码学相关的代码和库,但是Crypto++有其明显的优点。主要是功能全,统一性好。例如椭圆曲线加密算法和AES在OpenSSL的crypto库中就还没最终完成,而在Crypto++中就支持的比较好。基本上密码学中需要的主要功能都可以在里面找得到。Crypto++是由标准的C++写成的,学习C++、密码学、网络安全都可以通过阅读Crypto++的源代码得到启发和提高。Crypto++的安装首先到新版本的源代码,如果是windows版的,会得到一个VC的项目,直接用VC打开就可以编译了。这里建议大家使用最新版的C++编译器,因为诸如VC6的编译器是不支持C++的标准的,很多符合C++标准的代码不能编译通过。编译的时间比较长,。可以将Crypto++源文件的目录命名为cryptopp,拷贝到编译器的include目录(例如:C:\\VC7\include),。。例如在VC7中在项目->属性->链接器->命令行->附加选项中添加“”。HelloWorld现在写一个helloworld程序看看能不能编译通过。#include<iostream>usingnamespacestd;#include<cryptopp/>usingnamespaceCryptoPP;intmain(){cout<<"hellocrypto++"<<endl;cout<<"Aesblocksizeis"<<AES::BLOCKSIZE<<endl;return0;}编译运行,一切OK,哈哈:D,可以用了。,因此它是一种比较小的可执行文件格式,.,。.lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们就不可能再被更改。如果你想使用lib文件,就必须:1包含一个对应的头文件告知编译器lib文件里面的具体内容2设置lib文件允许编译器去查找已经编译好的二进制代码如果你想从你的代码分离一个dll文件出来代替静态连接库,仍然需要一个lib文件。这个lib文件将被连接到程序告诉操作系统在运行的时候你想用到什么dll文件,一般情况下,lib文件里有相应的dll文件的名字和一个指明dll输出函数入口的顺序表。如果不想用lib文件或者是没有lib文件,可以用WIN32API函数LoadLibrary、GetProcAddress。事实上,我们可以在VisualC++IDE中以二进制形式打开lib文件,大多情况下会看到ASCII码格式的C++函数或一些重载操作的函数名字。一般我们最主要的关于lib文件的麻烦就是出现unresolvedsymble这类错误,、.cpp文件到工程里,关键是如果在C++工程里用了C语言写的lib文件,就必需要这样包含:extern"C"{#include""}这是因为C语言写的lib文件没有C++所必须的名字破坏,C函数不能被重载,因此连接器会出错C语言中有一些函数不需要进行编译,有一些函数也可以在多个文件中使用。一般来说,这些函数都会执行一些标准任务,如数据库输入/输出操作或屏幕控制等。可以事先对这些函数进行编译,然后将它们放置在一些特殊的目标代码文件中,这些目标代码文件就称为库。库文件中的函数可以通过连接程序与应用程序进行连接。这样就不必在每次开发程序时都对这些通用的函数进行编译了。不同类型的应用程序将会使用不同的函数库。例如:libdbm库中组包含了对数据库文件进行访问的dbm函数,需要对数据库进行操作的程序就会与该库进行连接。数学应用程序将使用数学库libm,X-Windows应用程序将使用Xlib库,libX11。另外,所有的程序都将使用标准的C函数库。libc,该库中包含了诸好内存管理或输入输出操作的基本函数,这些库都存放在/usr/lib这些系统公用的目录中,系统中的任何用户都可以利用这些库。当
Crypt中文使用手册 来自淘豆网m.daumloan.com转载请标明出处.