QQ登录

只需一步,快速开始

354上位机VC MFC实现AES加密

[ 复制链接 ]

354上位实现AES加密与解密

354上位实现AES加密与解密

354上位实现AES加密与解密功能展示
AES是一种高级加密标准(英语:Advanced Encryption Standard,缩写:AES),可用于电子数据加密保护,已成为对称密钥加密中最流行的算法之一,我们当前例程就利用AES对指定文件进行加密保护功能,效果如图,点击<选择要加密文件>后,会设置好要加密的文件,加密后存储位置,解密后存储位置,点击<执行加密>会在设置的目录生成加密后的文件,点击<执行AES解密>会在设置的目录生成解密后的文件;

要点提示
AES是一迭代的对称的密钥分组的密码,AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。
AES算法是基于置换和代替,置换是数据的重新排列,代替是用一单元数据替代另一个,AES使用了多种方法来实现置换和代替;

例程通过自定义类CAES实现AES加密解密功能,通过调用类的成员函数SetKeys()设置关键字后,就可调用类的EncryptFile(), DecryptFile()实现加密与解密功能;
void EncryptFile(CString SourceFile,CString TagerFile);
SourceFile为要加密的原文件目录,TagerFile为加密后的文件存储目录;
void DecryptFile(CString SourceFile,CString TagerFile);
SourceFile为要解密的原文件目录,TagerFile为解密后的文件存储目录;

实现功能
1.新建基于对话框的应用程序
2.将工程根目录CAES类的两文件AES.cpp, AES.h复制到自己工程根目录,并加载两文件到工程中;
3.依照例程界面,添加编辑框IDC_EDIT1, IDC_EDIT2, IDC_EDIT3分别对应 要加密文件,加密后存储位置,解密后存储位置,再添加三按钮《选择要加密文件》<执行AES加密><执行AES解密>关联按钮的点击函数
void CGkbc8Dlg::OnSelect()
{
CFileDialog Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"",NULL);
if(Dlg.DoModal() == IDOK)
{
SetDlgItemText(IDC_EDIT1,Dlg.GetPathName()); //原文件
CString sFileName,sFilePath,sTemp,sPathName;
sFileName = Dlg.GetFileName();
sFilePath = Dlg.GetPathName();
sFilePath = sFilePath.Left(sFilePath.GetLength()-sFileName.GetLength());//目录
sTemp = sFileName;
sTemp.Insert(sTemp.Find('.'),"_Encrypt");
sPathName=sFilePath+sTemp;
SetDlgItemText(IDC_EDIT2,sPathName); //加密文件
sTemp = sFileName;
sTemp.Insert(sTemp.Find('.'),"_Descrypt");
sPathName=sFilePath+sTemp;
SetDlgItemText(IDC_EDIT3,sPathName); //解密文件
}
}
void CGkbc8Dlg::OnEncrypt()
{
CString sSourcePath,sEncryptPath;
GetDlgItemText(IDC_EDIT1,sSourcePath);
GetDlgItemText(IDC_EDIT2,sEncryptPath);
if(sSourcePath.IsEmpty()||sEncryptPath.IsEmpty())
return;

CAES aes;
aes.SetKeys(BIT128,"AES Encrypt Decrypt");
aes.EncryptFile(sSourcePath,sEncryptPath);
}

void CGkbc8Dlg::OnDecrypt()
{
CString sEncryptPath,sDecryptPath;
GetDlgItemText(IDC_EDIT2,sEncryptPath);
GetDlgItemText(IDC_EDIT3,sDecryptPath);
if(sDecryptPath.IsEmpty()||sEncryptPath.IsEmpty())
return;

CAES aes;
aes.SetKeys(BIT128,"AES Encrypt Decrypt");
aes.DecryptFile(sEncryptPath,sDecryptPath);
}

我们来演示下功能实现的整个过程机VC MFC实现AES加密
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:354.上位机VC MFC实现AES加密.zip 
文件大小:144.23 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索