加解密雜燴程式開發(一)

2021-07-08 12:08:46 字數 1309 閱讀 6224

經常參加ctf比賽,於是也經常會碰到一些加解密的東西,於是自己寫乙個雜燴的程式,會比較方便。

目標:寫乙個常用的加解密程式,彌補jpk裡加解密演算法不全的缺點。

開發語言:鑑於python對字串處理和密碼演算法的強大支援,計畫採用python實現加解密;同時介面這塊計畫採用自己比較熟悉的mfc。

技術關鍵點:開發過程中碰到的一些技術關鍵點,主要有:

1)介面執行緒和工作執行緒的分離,同時介面程式和工作執行緒之間的引數傳遞;

2)vc如何呼叫python程式,需要設定的點;

3)vc和python之間引數和返回值的傳遞;

開發過程:

-------------------------------華麗麗的分割線---------------------------------

1、開發環境是microsoft visual studio 2010,

新建乙個mfc程式

應用程式型別選擇「基於對話方塊」,其他無所謂,一直下一步到完成。

2、頁面布局如圖所示

3、為各控制項和按鈕新增響應函式,同時設定何種加解密演算法的標誌位m_tag,響應函式類似:

void cdecryptdlg::onbnclicked_urldecode()

4、介面執行緒和工作執行緒的分離

為了避免出現程式介面假死的狀況,這裡採用新建工作執行緒的方式來處理。首先按鈕響應函式新建乙個執行緒,同時將當前物件的指標傳遞給該執行緒函式,用以傳遞物件內部的成員變數等。

void cdecryptdlg::onbnclicked_decrypt()

resumethread(m_hacceptthread); }

然後新建乙個static dword winapi型別的執行緒函式decryptthread,該執行緒函式內部僅有一句**,就是通過當前物件指標呼叫真正的工作函式

dword winapi cdecryptdlg::decryptthread(void* pdecrypt)

真正的工作函式其實是decryptwork,因為它是當前類的成員函式,所以可以直接呼叫成員變數等引數。

void cdecryptdlg::decryptwork(void)

【未完待續】

加解密演算法一 雜湊演算法 對稱加解密

net中的加解密操作所涉及的物件都在命名空間system.security.cryptography下,所以應先在程式中新增using system.security.cryptography。用來產生一些資料片段 例如訊息或會話項 的雜湊值的演算法。好的雜湊演算法具有在輸入資料中的更改可以更改結果...

開發過程中的加解密

1.加密演算法分為 可逆加密 對稱加密 des,3des,aes,pbe 非對稱加密 rsa,dsa,ecc 不可逆加密 單向加密 md5,sha,hmac 2.金鑰的介紹 對稱加密 將明文 密文 連同金鑰放入相應的加密 或加密容器 即可得到密文或者明文,實現加解密。在對稱加密中金鑰必須是相同的才可...

express開發服務端 加解密token

express開發服務端 加解密token 參考 jsonwebtoken.jwt 的原理 jwt 的原理是,伺服器認證以後,生成乙個 json 物件,發回給使用者,就像下面這樣。以後,使用者與服務端通訊的時候,都要發回這個 json 物件。伺服器完全只靠這個物件認定使用者身份。為了防止使用者篡改資...