工控编程吧
标题:
上位机MFC实现U盘加密解密源代码
[打印本页]
作者:
qq263946146
时间:
2019-9-23 10:48
标题:
上位机MFC实现U盘加密解密源代码
(, 下载次数: 0)
上传
点击文件名下载附件
例程实现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();
}
复制代码
工程源代码下载地址:
(, 下载次数: 2)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[halcon]1[/halcon]
[weixinlianxi]1[/weixinlianxi]
1[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4