一个C++加密工具EncryptDecrypt.dll
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                一个C++加密工具EncryptDecrypt.dll
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            
EncryptDecrypt.dll文件封裝了Rijndael加密算法, ?結合SHA-256與
CNewRandom
?(
http://www.codeproject.com/Articles/5489/KeePass-Password-Safe這個里面用到的基于SHA-256偽隨機數)加密與解密字符串.......這個加密工具有個重要的特性就是, 就算是用同樣的密鑰加密同一個字符串, 得到的密文卻不一樣...但是又都能解密回來..... 
用密鑰admin#2sha加密字符串123456得到的結果是(被換行了, 下面的粗體字)
S3AU7TOsJWFPNP8GfT/dQ68MHmAOn/sCOLY9gizo6//+WpwT2mI1v3E4fkDsveeJcJsK/KlmFd3vBhjy QeAtPGTfu+ZNPPtYs9pggrEv45cY4BNDLbuQoLl+RwzGDJZTxfP1WXehumgqqeoK0NHyalCWLNZY QqfU6pz1cB8oRWTPDX/wFIN7g6CGAQC8wYpmAS8M9ppV79nkViFB
 
 
 
這個dll文件的試用實例放在這個壓縮包里面:?http://download.csdn.net/detail/hemmingway/4564654
里面有這些文件(DLL的核心代碼沒有放進去): ? 
 
 
試用方法, 1,將將壓縮包文件解壓到C++工程下面, PS: ??IEncryption.h文件是C++利用純虛函數實現接口的演示....EncryptDecrypt.dll是繼承于?IEncryption.h中類IEncryption的.....類似于C#的接口.....
2, 包含頭文件#include "Encrypt.h" 3,加密字符串,?sPWD?,?sEncryptedPWD?,?m_sTmp分別為明文, 密文,與密鑰...nLen是加密時產生的一個長度, 解密時需要這個參數
//處理密文 CString?sPWD,?sEncryptedPWD; int nLen = 0;
CEncrypt crypt(m_sTmp); if ((bSuccess = CEncrypt::CanEncrypt()) == TRUE) { sPWD.Format(_T("%s"), lpPwd); sEncryptedPWD = crypt.Encrypt(sPWD, nLen); }
4,解密字符串 CEncrypt crypt(m_sTmp);
if ((bSuccess = CEncrypt::CanEncrypt()) == TRUE) sPWD = crypt.Decrypt(sEncryptedPWD,?nLen);
                        
                        
                        用密鑰admin#2sha加密字符串123456得到的結果是(被換行了, 下面的粗體字)
S3AU7TOsJWFPNP8GfT/dQ68MHmAOn/sCOLY9gizo6//+WpwT2mI1v3E4fkDsveeJcJsK/KlmFd3vBhjy QeAtPGTfu+ZNPPtYs9pggrEv45cY4BNDLbuQoLl+RwzGDJZTxfP1WXehumgqqeoK0NHyalCWLNZY QqfU6pz1cB8oRWTPDX/wFIN7g6CGAQC8wYpmAS8M9ppV79nkViFB
這個dll文件的試用實例放在這個壓縮包里面:?http://download.csdn.net/detail/hemmingway/4564654
里面有這些文件(DLL的核心代碼沒有放進去): ? 
試用方法, 1,將將壓縮包文件解壓到C++工程下面, PS: ??IEncryption.h文件是C++利用純虛函數實現接口的演示....EncryptDecrypt.dll是繼承于?IEncryption.h中類IEncryption的.....類似于C#的接口.....
2, 包含頭文件#include "Encrypt.h" 3,加密字符串,?sPWD?,?sEncryptedPWD?,?m_sTmp分別為明文, 密文,與密鑰...nLen是加密時產生的一個長度, 解密時需要這個參數
//處理密文 CString?sPWD,?sEncryptedPWD; int nLen = 0;
CEncrypt crypt(m_sTmp); if ((bSuccess = CEncrypt::CanEncrypt()) == TRUE) { sPWD.Format(_T("%s"), lpPwd); sEncryptedPWD = crypt.Encrypt(sPWD, nLen); }
4,解密字符串 CEncrypt crypt(m_sTmp);
if ((bSuccess = CEncrypt::CanEncrypt()) == TRUE) sPWD = crypt.Decrypt(sEncryptedPWD,?nLen);
總結
以上是生活随笔為你收集整理的一个C++加密工具EncryptDecrypt.dll的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: SQL多字段模糊查询
- 下一篇: 网友称夏普电视坏了无处维权:不退不换不给
