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> int main() return 0; |