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 】
相关推荐:
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
如何快速使用云服务器搭建个人网站?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Python高阶函数应用_函数作为参数说明【指导】
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
如何用西部建站助手快速创建专业网站?
个人网站制作流程图片大全,个人网站如何注销?
Laravel Docker环境搭建教程_Laravel Sail使用指南
js代码实现下拉菜单【推荐】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
如何实现javascript表单验证_正则表达式有哪些实用技巧
iOS验证手机号的正则表达式
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
HTML 中动态设置元素 name 属性的正确语法详解
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel distinct去重查询_Laravel Eloquent去重方法
Swift中swift中的switch 语句
lovemo网页版地址 lovemo官网手机登录
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何快速启动建站代理加盟业务?
公司门户网站制作流程,华为官网怎么做?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何在新浪SAE免费搭建个人博客?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
如何快速搭建支持数据库操作的智能建站平台?
网站制作报价单模板图片,小松挖机官方网站报价?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
如何在IIS中新建站点并配置端口与物理路径?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Python文件异常处理策略_健壮性说明【指导】
jQuery 常见小例汇总
如何在阿里云香港服务器快速搭建网站?
重庆市网站制作公司,重庆招聘网站哪个好?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
上一篇:《三国望神州》吴国阵容搭配攻略
上一篇:《三国望神州》吴国阵容搭配攻略

