VC++ 字符串String MD5计算小工具 VS2008工程
发布时间 - 2026-01-11 02:28:11 点击率:次基于字符串加密的MD5算法,VS2008 VC++,多字节编译工程。主要代码如下,实现了ANSI字符串加密与Unicode字符串加密。

运行效果如下:
核心代码:
void CEncryptByMd5Dlg::OnButtonOk()
{
// TODO: Add your control notification handler code here
UpdateData(true);
unsigned int len=0;
char *cTemp =NULL;
if(m_bType==0)
{
len=m_sText.GetLength();
cTemp=(char*)(LPCTSTR)m_sText;
}
else
{
len=CStringW(m_sText).GetLength()*2;
cTemp=(char*)ANSI2UNICODE(m_sText);
}
char *cIdentity;
CMd5A md5;
cIdentity = md5.MDString(cTemp,len);
m_sEncrypt = CString(cIdentity);
if(m_bUpper==TRUE)
{
m_sEncrypt.MakeUpper();
}
else
{
m_sEncrypt.MakeLower();
}
UpdateData(false);
}
void CEncryptByMd5Dlg::OnBnClickedBtnCompare()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_sEncrypt==m_szMD5_2)
{
MessageBox(_T("密文比较结果相同!"),_T("比较相同"),MB_OK|MB_ICONINFORMATION);
}
else
{
MessageBox(_T("密文比较结果失败!"),_T("比较不同"),MB_OK|MB_ICONERROR);
}
UpdateData(FALSE);
}
void CEncryptByMd5Dlg::OnEnChangeEdit1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
OnButtonOk();
// TODO: Add your control notification handler code here
}
char * CEncryptByMd5Dlg::Unicode2ANSI(CString strSource)
{
if (strSource.IsEmpty()) return NULL;
char *pBuffer = NULL;
int nBufferSize = 0;
#ifdef _UNICODE
nBufferSize = WideCharToMultiByte(CP_ACP, 0, (LPCTSTR)strSource, -1, NULL, 0, NULL, NULL) + 1;
pBuffer = new char[nBufferSize];
memset(pBuffer, 0, sizeof(char)*nBufferSize);
WideCharToMultiByte(CP_ACP, 0, (LPCTSTR)strSource, -1, pBuffer, nBufferSize, NULL, NULL);
#else
nBufferSize = strSource.GetLength() + 1;
pBuffer = new char[nBufferSize];
memset(pBuffer, 0, sizeof(char)*nBufferSize);
strcpy_s(pBuffer, nBufferSize, (LPCTSTR)strSource);
#endif
return pBuffer;
}
wchar_t * CEncryptByMd5Dlg::ANSI2UNICODE(CString pData)
{
int nLength = MultiByteToWideChar(CP_ACP, 0, pData, -1, NULL, 0);
wchar_t *pwBuffer = new wchar_t[nLength + 1];
memset(pwBuffer, 0, sizeof(wchar_t)*(nLength + 1));
MultiByteToWideChar(CP_ACP, 0, pData, -1, pwBuffer, nLength);
return pwBuffer;
}
void CEncryptByMd5Dlg::OnBnClickedCheckUpper()
{
OnButtonOk();
// TODO: Add your control notification handler code here
}
void CEncryptByMd5Dlg::OnBnClickedRadio1()
{
OnButtonOk();
// TODO: Add your control notification handler code here
}
void CEncryptByMd5Dlg::OnBnClickedRadio2()
{
OnButtonOk();
// TODO: Add your control notification handler code here
}
VS2008 MFC工程源码下载:点击打开链接
# VC++
# String
# MD5计算
# C字符串与C++中string的区别详解
# C++ 读文件 将文件内容读入到字符串string中的方法
# C++ string 字符串查找匹配实例代码
# C++ 中String 替换指定字符串的实例详解
# 详解C++ string常用截取字符串方法
# 详解NSString 与C++ string字符串的互转
# 详解C++的String类的字符串分割实现
# 详解C++ string字符串类
# C++中的string类(C++字符串)入门完全攻略
# 多字
# 源码下载
# 实现了
# GetLength
# m_sText
# CStringW
# LPCTSTR
# ANSI2UNICODE
# char
# len
# cTemp
# m_bType
# NULL
# cIdentity
# TRUE
# m_bUpper
# MakeUpper
# false
# MakeLower
# CMd5A
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
浅谈redis在项目中的应用
香港服务器部署网站为何提示未备案?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
PHP 500报错的快速解决方法
网站建设整体流程解析,建站其实很容易!
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
非常酷的网站设计制作软件,酷培ai教育官方网站?
*服务器网站为何频现安全漏洞?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
佛山企业网站制作公司有哪些,沟通100网上服务官网?
独立制作一个网站多少钱,建立网站需要花多少钱?
C语言设计一个闪闪的圣诞树
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何用已有域名快速搭建网站?
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
公司网站制作价格怎么算,公司办个官网需要多少钱?
中山网站制作网页,中山新生登记系统登记流程?
如何破解联通资金短缺导致的基站建设难题?
javascript中对象的定义、使用以及对象和原型链操作小结
如何在IIS中新建站点并配置端口与IP地址?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
文字头像制作网站推荐软件,醒图能自动配文字吗?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Linux系统运维自动化项目教程_Ansible批量管理实战
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
JavaScript如何操作视频_媒体API怎么控制播放
成都网站制作公司哪家好,四川省职工服务网是做什么用?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在云主机上快速搭建网站?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在万网开始建站?分步指南解析
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
长沙做网站要多少钱,长沙国安网络怎么样?
如何在 Pandas 中基于一列条件计算另一列的分组均值
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
LinuxShell函数封装方法_脚本复用设计思路【教程】
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何为不同团队 ID 动态生成多个独立按钮
清除minerd进程的简单方法
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
上一篇:《三国望神州》吴国阵容搭配攻略
上一篇:《三国望神州》吴国阵容搭配攻略

