上位机MFC实现DES算法加密文件与MD5数字签名
例程效果如上图,
打开要加密 的文件后,可以算出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);
- }
- }
- }
复制代码 源代码下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|