C 加密庫botan混合編譯和簡單使用

2021-07-11 10:43:55 字數 931 閱讀 8860

c++加密庫botan混合編譯和簡單使用

最近要用到加密資料,找了半天,有許多加密庫:

首先,我不想用lib或者dll,於是乎想直接生成.h和.cpp檔案加入工程使用。好在botan支援我的這種想法,我試了其他的幾種庫,不是使用靜態庫就是使用動態庫,並沒有辦法直接將.h和.cpp檔案加入工程編譯。

3.找到安裝的python目錄,複製python.exe的路徑,我的是c:\python27\python.exe,開啟vs2008命令提示工具,定位到botan解壓後的資料夾根目錄下,將複製的python.exe路徑貼上,然後編輯成如下語句:c:\python27\python.exe configure.py --c=msvc --gen-amalgamation 回車,之後會在botan根目錄下生成botan_all.cpp和botan_all.h兩個檔案,這正是我們需要的。

4.新建控制台工程,將生成的cpp和h檔案加入工程中,測試**如下:

#include "stdafx.h"

#include "botan_all.h"

using

namespace botan;

#include

#include

using

namespace

std;

string cryptoaes(string input,string passphrase/*密碼種子,md5加密後作為金鑰*/,cipher_dir opt)

else

if(opt==decryption)

return output;

}int main(int argc, char* argv)

getchar();

return

0;}

如果編譯不通過,在工程巨集定義處加入巨集nominmax ,可以解決問題。參考資料:

C 和 C 混合編譯簡述

一 extern c 的作用 最重點 1.extern c 的真實目的是實現類c和c 的混合程式設計。extern c 是由 提供的乙個連線交換指定符號,用於告訴 這段 是 函式。extern c 後面的函式不使用的c 的名字修飾,而是用c。這是因為c 編譯後庫中函式名會變得很長,與c生成的不一致,...

c和c 混合編譯的問題(extern C )

1.引言 c 語言的建立初衷是 a better c 但是這並不意味著c 中類似c語言的全域性變數和函式所採用的編譯和連線方式與c語言完全相同。作為一種欲與c相容的語言,c 保留了一部分過程式語言的特點 被世人稱為 不徹底地物件導向 因而它可以定義不屬於任何類的全域性變數和函式。但是,c 畢竟是一種...

C與C 混合程式設計 編譯

1.工程檔案架構 drwxrwxr x 3 joshyoby joshyoby 4096 2月 25 15 03 drwxrwxr x 8 joshyoby joshyoby 4096 2月 25 14 45 rw rw r 1 joshyoby joshyoby 671 2月 25 14 58 m...