一个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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用的计数器

实用的计数器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity CNT10 is -- Port ( );PORT(CLK,RST,EN,LOAD : IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4位预置数 DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --计数值输…

香港版的芭蕾舞剧《吉赛尔》

保利剧院。由香港芭蕾舞团演出的二幕舞剧《吉赛尔》(Giselle)。《吉赛尔》与《天鹅湖》《睡美人》被称为世界三大芭蕾舞剧。作曲是法国作曲家亚杜夫亚当(Adolphe Adam 1803-1856)。伴奏是中央芭蕾舞团交响乐团,指挥张艺。舞蹈演员大多来自内地…

嵌入式名词以及简略说明

SCM:Single Chip Microcomputer 单片机 MCU:Micro Controller Unit SoC:

中国少数民族文学馆在内蒙古呼和浩特揭幕

中国少数民族文学馆开馆庆典于2009年9月15日在呼和浩特的内蒙古师范大学新校区和林格尔举行。来自全国的各民族作家、相关领导以及在校的师生1000多人参加了庆典仪式。 中国少数民族文学馆的全景。占地面积100亩,建筑面积5500平方米。据说每个民族占据100平方米&…

通过ADO压缩数据库

//ADOConn.h #pragma once //ADO的Error与ATL::CAtlRegExp<>的Error发生命名冲突 #import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \ rename("EOF","adoEOF") rename("BOF","adoBOF&qu…

安娜·塞克泽沃斯卡的“小人物”

安娜塞克泽沃思卡&#xff08;Anna Syczewska&#xff09;波兰女行为艺术家。生于1979年。毕业于克拉科夫美术学院雕塑系。专业&#xff1a;行为艺术表演、声音和视频装置、互联网艺术等。今天她表演的作品是《小人物》&#xff08;Nobody&#xff09;。时间30分钟。 现场。一张…

8位移位寄存器和优先编码器

8位移位寄存器和优先编码器 位移位寄存器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SHFT is -- Port ( );PORT(CLK,LOAD : IN STD_LOGIC;QB : OUT STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); end SHFT;archite…

TCP协议中的三次握手和四次挥手

http://blog.csdn.net/li0978/article/details/52598121 前言 昨天晚上被一位师傅问到了TCP/IP的工作机制&#xff0c;心里很清楚三次握手&#xff0c;然而对于四次挥手却忘了&#xff0c;这是大学习里学过的&#xff0c;奋而翻阅书籍和网络对之前所学的做一个温顾&#xff0c;…

OSI 七层参考模型及TCP/IP 四层模型

OSI 七层参考模型 七层模型&#xff0c;亦称 OSI &#xff08; Open System Interconnection &#xff09;参考模型&#xff0c;即开放式系统互联。参考模型是国际标准化组织&#xff08;ISO &#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;一般称为…

电影《麦田》的外景地其实是呼伦贝尔

看电影《麦田》多半是因为据说它的外景地在海拉尔——我童年和少年生长的地方。在我的印象中&#xff0c;家乡的某些地方还应该算是处女地&#xff0c;没有或者说还没有完全被工业化与城市化的脚步所践踏和蹂躏。 这个地方距离海拉尔大约200多公里&#xff0c;与海拉尔同属于呼…

最近觉得很是无奈啊

最近不知道为什么了,,,,,心神不定, 我的有银行卡被那个大姐, 吴xiaomei拿去了, 她拿着我的银行卡我没钱吃饭了, 每次都说第二天给我, 每次都没给, 都一个星期了.....

VHDL其他顺序语句

VHDL其他顺序语句 LOOP循环语句 LOOP语句属于可综合的循环语句,它可以使所包含的一组顺序语句被训话执行,其执行次数可由设定的循环参数决定。 (1)单个LOOP语句[LOOP标号: ] LOOP顺序语句END LOOP [LOOP 标号];实例如下:L2 : LOOPA := A+1;EXIT L2 WHEN A >10;--当A…

《龙与玫瑰园:中国艺术与权力》(英文版)在798首发

比利时作家苏斯冯埃尔岑&#xff08;Sus Van Elzen&#xff09;著作的《龙与玫瑰园&#xff0c;中国艺术与权力》(Dragon and Rose Garden:Art and power in China)英文版在798东八时区书吧举行首发式。比利时大使帕特里克Nijs和本书作者苏斯冯埃尔岑先生致词。 在这本书里&…

arm的一些概念(ARM7、Cortex-M的区别)

ARM7&#xff1a;ARMv4架构&#xff0c;ARM9&#xff1a;ARMv5架构&#xff0c;ARM11&#xff1a;ARMv6架构&#xff0c;ARM-Cortex 系列&#xff1a;ARMv7架构。 ARM7没有MMU(内存管理单元)&#xff0c;只能叫做MCU&#xff08;微控制器&#xff09;&#xff0c;不能运行诸…

赫塔•米勒获诺贝尔文学奖说明了什么?

诺贝尔文学奖常常和我们开玩笑&#xff0c;——和无辜的读者&#xff0c;和喜欢押赌注以期大赚一笔的出版商&#xff0c;还有我们那些没事业心人云亦云的外国文学研究和翻译的专家们。用评论家李陀先生的话这叫“带球过人”&#xff0c;你越是想左&#xff0c;我偏往右&#xf…

shutdown小程序

#include <stdio.h>#include <stdlib.h>int main(){char cmd[30];int tis;//时间单位为秒printf("plz input a time in seconds: \n");scanf("%d", &tis);sprintf(cmd, "shutdown -r -t %d", tis);printf("%s", cmd);…

内蒙古之秋

鄂尔多斯库布其沙漠的“响沙湾”。三个老外像美国西部片中的牛仔走向沙漠深处。 位于大青山以北昭河境内的普会寺&#xff0c;始建于乾隆三十四年。用经文连接成的佛幡。 沙漠中的旅游者。 沙漠的主人&#xff0c;一只孤独的黑虫。 呼和浩特奈热酒吧。一个唱呼麦的女歌手——图…

gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解

http://blog.csdn.net/elfprincexu/article/details/45043971 概述 C和C编译器是集成的&#xff0c;编译一般分为四个步骤&#xff1a; 预处理(preprocessing) ----------------- cpp/ gcc -E 编译(compilation) ------------------ cc1 / gcc -S汇编(assembly) -----------…

低级键盘钩子 DLL

C语言封装的低级键盘钩子(HOOK)的DLL程序, 源码, 并有测试程序...下载地址 : http://download.csdn.net/detail/hemmingway/4570548

并行信号赋值语句

并行信号赋值语句 并行信号赋值语句有3中形式,即简单信号赋值语句、条件信号赋值语句、选择信号赋值语句。 这3信号赋值语句的共同点是赋值目标必须都是信号,所有赋值语句与其他并行语句一样,在结构体内的执行是同时发生 简单信号赋值语句 语句格式赋值目标 <= 表达式…