一个C++加密工具EncryptDecrypt.dll
2012-09-12 10:15
399 查看
EncryptDecrypt.dll文件封装了Rijndael加密算法, 结合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);
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);
相关文章推荐
- 一个C++加密工具EncryptDecrypt.dll
- Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程
- 一个加密解密的小工具及源码(MD5, DES, RSA)
- 一个C++小程序——文件整理工具
- c/c++实现将cef的一堆dll单独放在一个文件夹,与程序exe目录区分开
- 在win下开发c++代码, 推荐一个工具dev c++
- oc 加密 AES 256算法(EncryptAndDecrypt.h)
- tinyxml一个优秀的c++ xml工具
- 介绍一个C++的ORM工具ODB
- 一个可应用在ASP 标记加密文件的MD5的DLL组件 {81K}
- 今天碰到一个 C++ from C#: C++ function (in a DLL) returning false, but C# thinks it's true! 惊呆了!
- 推荐一个好用的加密工具
- Visual Basic 和 C++ 的 DLL 之间传递一个字符串的方法
- 一个加密解密的小工具
- c++编写供其他工具使用的dll
- 用c++写的一个词典工具
- 介绍一个c++检测内存泄露工具:Visual Leak Detector
- 新用到的一个c++项目编译构建工具---blade