基于字符串加密MD5算法的示例分析
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要介绍了基于字符串加密MD5算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基于字符串加密的MD5算法,VS20
千家信息网最后更新 2025年11月15日基于字符串加密MD5算法的示例分析
这篇文章主要介绍了基于字符串加密MD5算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
基于字符串加密的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 }感谢你能够认真阅读完这篇文章,希望小编分享的"基于字符串加密MD5算法的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
字符
字符串
加密
篇文章
算法
示例
分析
相同
代码
密文
结果
不同
价值
兴趣
同时
字节
工程
效果
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
期货交易服务器排名
长沙除了软件开发还能干什么
北京好家居网络技术有限公司
个人信息保护法与网络安全法关系
中国军事科技互联网
学软件开发能干嘛
搭建dns管理服务器软件
四川服务器虚拟化部署云主机
网络安全教育课程资源库
pb 把图片保存到数据库中
关于网络安全宣传知识
华为软件开发工程师好吗
清远数字软件开发厂家直销
杭州存货软件开发定制落地方案
我的世界离线账号服务器
珠海非遗数据库
网络技术有限公司招聘
软件开发需要什么数据库
小米路由器网络安全吗
数据库一体机+不成熟
常熟知名服务器货源充足
琼瑶小说软件开发
南京全速网络技术有限公司
数据库分区
电视墙服务器作用
夏河网络安全
智能手机软件开发课程设计
服务器怎么选择厂家
linux下数据库日志文件
如何组装微型企业服务器