怎樣對字串進行加密 解密

2021-03-31 14:15:12 字數 1242 閱讀 5375

[譯者的話] 該文介紹了一種直接呼叫 cryptoapi 函式對字串進行加密和解密的用法,非常簡單、實用。其中,有作者所封裝的乙個加密/解密類,是可以直接復用的原始碼,我想是能夠解決我們的一些實際問題的。而且,將初始化函式封裝在建構函式中,也顯得比較巧妙,對於初學者不失為一篇好的教材。

1、初始化 cryptoapi 的函式。

2、加密函式。輸入引數為原始字串和乙個金鑰。

3、解密函式。輸入引數為加密後的字串和乙個金鑰。

這幾個函式的原型如下:

bool setupcryptoclient();

bool encryptstring(tchar* szpassword,tchar* szencryptpwd,tchar

*szkey);

bool decryptstring(tchar* szencryptpwd,tchar* szpassword,tchar

*szkey);

函式及其引數的含義如下:
bool setupcryptoclient();
該函式初始化解密客戶程式。
bool encryptstring(tchar* szpassword,tchar*

szencryptpwd,tchar *szkey)

1、szpassword 是原始字串

2、szencryptpwd 是 加密後的結果

3、szkey 是加密的金鑰

bool decryptstring(tchar* szencryptpwd,tchar*

szpassword,tchar *szkey)

1、szencryptpwd 是乙個已經加密的字串

2、szpassword 是解密後的字串

3、szkey是解密金鑰。它必須和該字串在原來加密時所用金鑰一致。

該程式是乙個控制台程式,主要想說明加密/解密函式的用法。

如果由於引用了hcryptprov的資料型別,而使得編譯無法通過,可用下面的辦法解決:

1、 清除 #define win32_lean_and_mean

2、 加上:#define _win32_winnt 0x0400

3、 在鏈結設定中,新增庫"advapi32.lib"

1、生成乙個類,比如,ccryptstring。

2、在建構函式中,呼叫初始化函式setupcryptoclient,並且將結果儲存在乙個成員變數中。

3、將加密/解密函式直接封裝在類的成員函式中。

第二個例子包含了乙個類的用法。

對字串進行加密解密

create view v rand asselect c unicode cast round rand 255,0 as tinyint go create function f jmstr str varchar 8000 type bit returns varchar 8000 引數說明 ...

基於字元裝置對字串進行加密解密

編寫利用字元裝置實現對字串加密解密的程式。加密 將大小寫字母迴圈加 解密 將大小寫字母迴圈減 例如 china 加密成 glmre 這是驅動 實現乙個主裝置號,兩個次裝置。乙個次裝置號加密,乙個次裝置號解密。相應的測試程式是 test1.c include include include inclu...

字串進行加密與解密。

設計應用程式時,為了防止一些敏感資訊的洩露,通常需要對這些資訊進行加密。以使用者的登入密碼為例,如果密碼以明文的形式儲存在資料表中,很容易就會被人發現 相反,如果密碼以密文的形式儲存,即使別人從資料表中發現了密碼,也是加密之後的密碼,根本不能使用。通過對密碼進行加密,能夠極大地提高系統的保密性。下面...