一个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多字段模糊查询
- 下一篇: C++ 输出调试信息 类似MFC的TRA