在WTL中使用MD5加密法

2016-01-29 12:12 12 1 收藏

在WTL中使用MD5加密法,在WTL中使用MD5加密法

【 tulaoshi.com - C语言心得技巧 】

在WTL中使用MD5加密法


作者:广西北流中学160班 聂华闻

下载源代码

  不记得在哪个地方得到了一个MD5加密法的类,由于开发的原因要在WTL中使用MD5加密法,但是,这个类并不能直接的用在WTL中(In MFC it was an easy job ),所以我就修改了一下,并写出此文,以方便大家以后在WTL中使用MD5加密法。不过,小弟水平有限,有错漏地方,望各位哥姐包涵。

程序的运行界面如下:

First of all :在你的VC编译器中配置WTL(Copy 一段先 :-))

首先安装WTL AppWizard,现在最高版本应该是WTL7.0,直接运行setup脚本文件就可以了,这里给大家几个下载地址:
1) http://www.vckbase.com/tools/listtools.asp?tclsid=111
2) http://www.microsoft.com/downloads/details.aspx?familyid=128e26ee-2112-4cf7-b28e-7727d9a1f288&displaylang=en
3)http://www.copathway.com/vchelp/zsrc/wtlm.asp?type_id=70&class_id=1&cata_id=3&article_id=374

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

这样当你启动VC6.0后,File/New时,在Project属性页就能看到添加了一项ATL/WTL AppWizard。你可以直接把WTL的库文件( 共16个.h文件)拷贝到vc的安装目录VC98/Include中,也可以放到你的工程文件夹中。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

And : 修改合适WTL的MD5加密算法类

  这个类有3个文件,MD5Checksum.h,MD5ChecksumDefines.h,MD5Checksum.cpp。不知道这个类库原来是不是专用在MFC中的,不过我在MFC中可以很直接的使用它,but,在WTL中,就不能直接使用了。我们必须动手小改一下它。首先,如果我们要把其用在WTL中的话,我们就应该在,MD5Checksum.h文件中加入#include<atlmisc.h,这个文件,好让它支持WTL的CString 。再次,要把类库里的ASSERT(非用不可就改为ATLASSERT吧)、AfxIsValidAddress、等WTL不支持的语句take out,你可以放心,这些都是调试用的语句(maybe,去掉了也无所谓,后来证明也是如此).然后,这个类库里有两个函数,要使用到CFile的(如果你必须使用到FILE的话,那么建议用standard c++自己封装一个CFile ),也必须去掉。它们是 static CString GetMD5(CFile& File)、 static CString GetMD5(const CString& strFilePath);

And : 你就可以使用MD5加密法了

我是这样的:

处理EDIT的EN_CHANGE事件:
COMMAND_HANDLER(IDC_EDIT1, EN_CHANGE, OnChangeEdit1)
LRESULT OnChangeEdit1(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled){   CString str_ReourceText;   //get resource text   HWND hWndResourceText = GetDlgItem(IDC_EDIT1);   int int_ReourceText=::GetWindowTextLength(hWndResourceText);   int_ReourceText++;   LPTSTR lpStr = str_ReourceText.GetBufferSetLength(int_ReourceText);   ::GetWindowText(hWndResourceText, lpStr, int_ReourceText);   str_ReourceText.ReleaseBuffer();   str_ReourceText =CMD5Checksum::GetMD5((BYTE*)(const char*)str_ReourceText.GetBuffer(0),str_ReourceText.GetLength());   //set the result text    SetDlgItemText(IDC_STATIC_RESUAL,str_ReourceText);  return 0;}

嗯,该说的差不多都说了,不懂、不了解、不明白的,就看源代码吧!谢谢观看~~

来源:http://www.tulaoshi.com/n/20160129/1485050.html

延伸阅读
<script language="JavaScript" <!-- /********************************************************** * md5.js * * A JavaScript implementation of the RSA Data Security, Inc. MD5 * Message-Digest Algorithm. * * Copyright (C) Paul Johnston 1999. Distributed under the LGPL. ***********************************************...
标签: Web开发
$(md("你想要加密的字符串")); md5插件下载地址:打包下载 下面是我的简单例子 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title/title script type="text/javascript" src="Scripts/jqu...
标签: ASP
FF(b,c,d,a,M3,22,0xc1bdceee) FF(a,b,c,d,M4,7,0xf57c0faf) FF(d,a,b,c,M5,12,0x4787c62a) FF(c,d,a,b,M6,17,0xa8304613) FF(b,c,d,a,M7,22,0xfd469501) FF(a,b,c,d,M8,7,0x698098d8) FF(d,a,b,c,M9,12,0x8b44f7af) FF(c,d,a,b,M10,17,0xffff5bb1) FF(b,c,d,a,M11,22,0x895cd7be) FF(a,...
标签: Web开发
程序全文如下:  代码如下: package com.neusoft.test.util.crypt; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.security.MessageDigest; import java.text.SimpleDateFormat; import java.util.Calendar; import javax.cr...
标签: ASP
综述 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。...

经验教程

754

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部