工控编程吧
标题:
上位机MFC实现DES算法加密文件与MD5数字签名
[打印本页]
作者:
qq263946146
时间:
2019-9-20 11:37
标题:
上位机MFC实现DES算法加密文件与MD5数字签名
(, 下载次数: 1)
上传
点击文件名下载附件
例程效果如上图,
打开要加密 的文件后,可以算出MD5的数字签字,
然后再次输入DES的密码后,可以对文件进行加密处理。
数字签字代码
void CMinicaDlg::OnButtonResult()
{
// TODO: Add your control notification handler code here
UpdateData();//将窗口中所有编辑框的内容更新即刷新屏幕
m_strDest = CMD5Checksum::GetMD5( (BYTE*)(const char*)m_deskey, m_deskey.GetLength() );
UpdateData(FALSE);
}
复制代码
DES加密代码
void CMinicaDlg::OnRun()
{
// TODO: Add your control notification handler code here
CHECK( IDYES == MessageBox("真的要进行该操作吗? ","提示",MB_YESNO | MB_ICONQUESTION) )
bool flage;
DWORD time=GetTickCount();
// CString str= (run_type==ENCRYPT) ? "加密": "解密",tmp;
BuildOutputFileName();
CHECK_MSG( m_deskey == m_deskey2, "错误:DES密钥不一致! " )
if( run_type==ENCRYPT)
{
flage = des.Encrypt(m_output.GetBuffer(0),m_input.GetBuffer(0),
m_deskey.GetBuffer(0));
}
else
{
flage = des.Decrypt(m_output.GetBuffer(0),m_input.GetBuffer(0),
m_deskey.GetBuffer(0));
}
if( flage )
{
Str.Format("%s成功! 用时%u秒。",(run_type==ENCRYPT)?"加密":"解密",(GetTickCount()-time)/1000);
MessageBox(Str,"提示",MB_ICONINFORMATION);
if( (run_type==ENCRYPT && delorgfile) ||
(run_type==DECRYPT && deleptfile) )
{
Str.Format("是否删除文件:\n%s",m_input);
if( !delnote )
DeleteFile(m_input);
else if( IDYES==MessageBox(Str,"提示",MB_YESNO | MB_ICONQUESTION) )
DeleteFile(m_input);
}
}
}
复制代码
源代码下载地址:
(, 下载次数: 0)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
[halcon]1[/halcon]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4