上位机MFC实现U盘加密解密源代码
例程实现U盘加密与解密的功能。
效果如上图,选择U盘后,可以点击加密,解密进行U盘的加密与解密操作。
关键源代码为:
- void CMSSDlg::OnAddPassword()
- {
- // TODO: Add your control notification handler code here
- unsigned char MBRBuf[512];
- CString name;
- CString driver;
-
- int id; // 选择移动设备的编号
- if(m_select.GetCurSel()==CB_ERR)
- {
- AfxMessageBox("请选择要加密的设备!");
- return;
- }
- id=m_select.GetCurSel();
- m_select.GetLBText(id,name);
- // 确定选择的磁盘
- driver=GetDiskNumber(name);
- // 读磁盘的MBR区
- if(ReadDisk(driver,MBRBuf,0)==0)
- return;
- /* RC4加密,KEY是密钥,此处Key[]="MobileStorageSecurity",后期可以
- 用户输入的密码作为密钥 */
- RC4_KEY rc4_key;
- build_rc4_key(Key,strlen((char*)Key),&rc4_key);
- rc4_handler(MBRBuf,strlen((char*)MBRBuf),&rc4_key);
- // 将加密后的MBR写入磁盘
- if(WriteDisk(driver,MBRBuf,0)==0)
- return;
- AfxMessageBox("加密成功!");
- // 弹出USB存储设备
- PopupUSBDevice();
- }
- void CMSSDlg::OnRemovePassword()
- {
- // TODO: Add your control notification handler code here
- unsigned char MBRBuf[512];
- CString name;
- CString driver;
-
- int id; // 选择移动设备的编号
- if(m_select.GetCurSel()==CB_ERR)
- {
- AfxMessageBox("请选择要加密的设备!");
- return;
- }
- id=m_select.GetCurSel();
- m_select.GetLBText(id,name);
- // 确定选择的磁盘
- driver=GetDiskNumber(name);
- // 读磁盘的MBR区
- if(ReadDisk(driver,MBRBuf,0)==0)
- return;
- /* RC4加密,KEY是密钥,此处Key[]="MobileStorageSecurity",后期可以
- 用户输入的密码作为密钥 */
- RC4_KEY rc4_key;
- build_rc4_key(Key,strlen((char*)Key),&rc4_key);
- rc4_handler(MBRBuf,strlen((char*)MBRBuf),&rc4_key);
- // 将解密后的MBR写入磁盘
- if(WriteDisk(driver,MBRBuf,0)==0)
- return;
- AfxMessageBox("解密成功!");
- // 弹出USB存储设备
- PopupUSBDevice();
- }
复制代码 工程源代码下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
1
|