Crypto++入門

Crypto++是一個C++編寫的密碼學類庫。讀過《過河卒》的朋友還記得作者的那個不願意去微軟工作的兒子嗎,就是Crypto++的作者Wei Dai。
Crypto++是一個非常強大的密碼學庫,在密碼學界很受歡迎,最初還是Rivest(RSA的R)門下的一個博士姐姐把這個庫介紹給我的。雖然網絡上可以找到很多密碼學相關的代碼和庫,但是Crypto++有其明顯的優點。主要是功能全,統一性好。例如橢圓曲線加密算法和AES在OpenSSL的crypto庫中就還沒最終完成,而在Crypto++中就支持的比較好。基本上密碼學中需要的主要功能都可以在裏面找得到。Crypto++是由標準的C++寫成的,學習C++、密碼學、網絡安全都可以通過閱讀Crypto++的源代碼得到啓發和提高。

Crypto++的安裝
首先到www.cryptopp.com上下載最新版本的源代碼,如果是windows版的,會得到一個VC的項目,直接用VC打開就可以編譯了。這裏建議大家使用最新版的C++編譯器,因爲諸如VC6的編譯器是不支持C++的標準的,很多符合C++標準的代碼不能編譯通過。編譯的時間比較長,完成後會生成cryptlib.lib這個庫文件。可以將Crypto++源文件的目錄命名爲cryptopp,拷貝到編譯器的include目錄(例如:C:/VS.NET/VC7/include),將cryptlib.lib文件拷貝到編譯器的lib目錄。這樣我們只需要說明鏈接cryptlib.lib即可。例如在VC7中在項目->屬性->鏈接器->命令行->附加選項中添加“cryptlib.lib”。

Hello World
現在寫一個hello world程序看看能不能編譯通過。

#include <iostream>
using namespace std;

#include <cryptopp/aes.h>
using namespace CryptoPP;

int main()
{
       cout << "hello crypto++" << endl;
       cout << "Aes block size is " << AES::BLOCKSIZE << endl;

 return 0;
}

編譯運行,一切OK,哈哈:D,可以用了。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章