加解密模块EncryptDecrypt.dll使用
来源:互联网 发布:dota2 数据bld 编辑:程序博客网 时间:2024/06/03 21:20
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);
- 加解密模块EncryptDecrypt.dll使用
- node.js 使用crypto模块进行RSA加解密操作
- 一个C++加密工具EncryptDecrypt.dll
- 一个C++加密工具EncryptDecrypt.dll
- RSAUtils加解密使用
- 易语言 DES加解密模块
- Node.js基本模块crypto(加解密)
- 微软企业库4.1学习笔记(二十二)加解密模块2 在应用中使用加密解密
- 如何使用OPENSSL中的RSA和AES模块进行身份认证和业务加解密
- 使用mcrypt加/解密【转载】
- iOS使用DES加解密
- iOS使用DES加解密
- iOS使用DES加解密
- Java使用base64加解密
- iOS使用DES加解密
- ios使用rsa加解密
- ios使用rsa加解密
- Java使用AES加解密
- openfire插件开发全过程
- 开发板上无操作系统和加载操作系统配置
- 关于学生信息方面的sql统计练习
- linux 性能监控之----TOP
- 用maven整合struts+spring+hibernate之三 加入框架支持
- 加解密模块EncryptDecrypt.dll使用
- "在证书存储区中找不到清单签名证书"问题分析以及解决方案
- redis sorted set source code analysis
- linux 网络编程与 windows 网络编程
- 用maven整合struts+spring+hibernate之四 添加事务管理
- 糖果传递
- SVN服务器搭建和使用(三)
- DXGI的使用 --Direct2D 和 Direct3D 互操作性概述
- 网络实验(七动态路由协议配置)