工控编程吧
标题:
上位机MFC,Rijndael算法加密解密源代码
[打印本页]
作者:
qq263946146
时间:
2019-9-4 11:31
标题:
上位机MFC,Rijndael算法加密解密源代码
(, 下载次数: 4)
上传
点击文件名下载附件
源代码下载地址:
(, 下载次数: 1)
上传
点击文件名下载附件
关键代码如下
void CRijndView::OnUncryption()
{
// TODO: Add your control notification handler code here
k_bit=(unsigned char*)m_miyao.GetBuffer(8);
m_miyao.ReleaseBuffer(); //密钥的获取
unsigned char *m_bit;
m_bit=new unsigned char [length];
BeginWaitCursor();
{
rij.set_key(k_bit,256);
for(int j=0;j<N;j++)
{
rij.decrypt(var,m_bit);
m_bit+=16;
var+=16;
}
m_bit=m_bit-16*N;
var=var-16*N;
}
EndWaitCursor();
char szFilter[] = "all Files(*.*)|*.*||";
CFileDialog FileDlg( FALSE, NULL, NULL, OFN_HIDEREADONLY, szFilter );
FileDlg.m_ofn.lpstrTitle="解密文件存为";
if( FileDlg.DoModal() == IDOK ){
BeginWaitCursor();
CString PathName = FileDlg.GetPathName();
PathName=PathName+name;
CFile f;
f.Open(PathName,
CFile::modeCreate|CFile::modeWrite);
f.Write(m_bit,length);
f.Close();
CString string;
string="notepad"+PathName;
WinExec(string,SW_SHOW);
m_jiami="解密结束!";
MessageBox(m_jiami);
EndWaitCursor();
}
delete m_bit;
UpdateData(false);
Invalidate(true);
}
void CRijndView::OnEncryptionSelect()
{
// TODO: Add your control notification handler code here
char szFilter[] = "all Files(*.*)|*.*||";
CFileDialog FileDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter );
if( FileDlg.DoModal() == IDOK )
{
BeginWaitCursor();
CString PathName = FileDlg.GetPathName();
CString filename=FileDlg.GetFileName();
CString first=FileDlg.GetFileTitle();
name=filename.Right(filename.GetLength()-first.GetLength());
{
CFile f2;
if(f2.Open(PathName,CFile::modeRead|CFile::typeBinary )==FALSE)
return;
length=f2.GetLength();
N=length/16;
if(length%16==0)
{
N=N;
}
else
{
length=length+16-length%16;
N=N+1;
}
var=new unsigned char [length];
f2.Read(var,f2.GetLength());
if(f2.GetLength()%16!=0)
{
for(i=0;i<(int)(16-f2.GetLength()%16);i++)
{
var[length-16+f2.GetLength()%16+i]=' ';
}
}
f2.Close();
Invalidate(true);
}
EndWaitCursor();
}
}
void CRijndView::OnUncryptionSelect()
{
// TODO: Add your control notification handler code here
char szFilter[] = "all Files(*.*)|*.*||";
CFileDialog FileDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter );
if( FileDlg.DoModal() == IDOK )
{
BeginWaitCursor();
CString PathName = FileDlg.GetPathName();
CString filename=FileDlg.GetFileName();
CString first=FileDlg.GetFileTitle();
name=filename.Right(filename.GetLength()-first.GetLength());
{
CFile f2;
if(f2.Open(PathName,CFile::modeRead|CFile::typeBinary )==FALSE)
return;
length=f2.GetLength();
var=new unsigned char [length];
N=length/16;
f2.Read(var,f2.GetLength());
f2.Close();
Invalidate(true);
}
EndWaitCursor();
}
}
复制代码
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4