Crypto 編譯使用

2021-09-12 02:20:44 字數 2105 閱讀 1497

crypto++庫是乙個用c++ 編寫的密碼類庫,是乙個自由軟體。有關它的資訊可以訪問以下兩個**:

更多參考

解壓縮之後,我們會看到裡面包含大量的標頭檔案、原始檔、以及工程檔案,用vs2013開啟cryptest.sln,然後進行編譯(清理->重新生成)即可。

編譯完成,會生成cryptest.exe、cryptlib.lib(e:\crypto++5.6.3\win32\output\debug)。

新建乙個win32控制台應用程式testcrypto++。

右鍵「屬性」,選擇「配置屬性」-> c/c++ ->常規,附加包含目錄e:\crypto++5.6.3右鍵「屬性」,選擇「配置屬性」-> c/c++ -> **生成,執行庫選擇「多執行緒除錯(/mtd)」(release模式下對應「多執行緒(/mt)」)。

此時,使用crypto++的開發環境就搭建好了,在crypto++ user guide中的例子。

ok,編寫測試程式。。。

// testcrypto++.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#include #include // streamtransformationfilter

#include // cfb_mode

#include // std:cerr

#include // std::stringstream

#include using namespace std;

using namespace cryptopp;

#pragma comment(lib, "cryptlib.lib" )

std::string ecb_aesencryptstr(std::string skey, const char *plaintext)

std::string ecb_aesdecryptstr(std::string skey, const char *ciphertext)

std::string cbc_aesencryptstr(std::string skey, std::string siv, const char *plaintext)

std::string cbc_aesdecryptstr(std::string skey, std::string siv, const char *ciphertext)

std::string cbc_cts_aesencryptstr(std::string skey, std::string siv, const char *plaintext)

std::string cbc_cts_aesdecryptstr(std::string skey, std::string siv, const char *ciphertext)

std::string cfb_aesencryptstr(std::string skey, std::string siv, const char *plaintext)

std::string cfb_aesdecryptstr(std::string skey, std::string siv, const char *ciphertext)

std::string ofb_aesencryptstr(std::string skey, std::string siv, const char *plaintext)

std::string ofb_aesdecryptstr(std::string skey, std::string siv, const char *ciphertext)

std::string ctr_aesencryptstr(std::string skey, std::string siv, const char *plaintext)

std::string ctr_aesdecryptstr(std::string skey, std::string siv, const char *ciphertext)

int _tmain(int argc, _tchar* ar**)

編譯安裝M2Crypto 0 20 2

最新需要用到rsa對稱金鑰加密,所以需要用到m2crypto,可憐的我發現編譯這東西一點都不容易,以下是我的杯具經驗總結。lsb release a lsb version core 3.0 ia32 core 3.0 noarch graphics 3.0 ia32 graphics 3.0 no...

攻防世界crypto

1 base64 看一下題目就知道這是乙個base64加密,我們可以直接在網上搜尋解密工具,也可以使用下面指令碼進行解密 import base64 a open d crypto1.txt r s a.read print base64.b64decode s flagcyberpeace2 ca...

使用python的Crypto模組的AES加密檔案

學了使用crypto模組的aes來加密檔案,現在記錄下來便於後邊兒檢視。在剛開始知道這個模組的時候,連基本的crypto模組的安裝都花了很多很多時間來搞,也不知道什麼情況反正是折騰很久了才安裝起的,記得是包安裝起來了,但使用的時候始終提示找不到crypto.cipher模組。然後怎麼解決的呢?一 把...