|
写在前面:
//////////////////////////////////**************/////////////////////////////////////////
花了2天时间做了几个实现对文件的加密与解密的exe程序。

PS:除了将要说明的那个exe:
1.还做了一个在CMD命令行窗口对文件加密的玩意儿:

2.还做了一个直接对一段文字进行加密的玩意儿。

3.还做了一个将exe文件放在文件夹中,能够对整个文件夹下所有文件进行加密的程序。

不过这一个还不是很完善,加密之后得手动删除原来的文件,因为不是对原文件进行改写,而是新建了一份。
//////////////////////////////////**************/////////////////////////////////////////
环境:win10 VS2010 C/C++
目录:
1.原理
2.程序
3.测试视频
4.加密软件免费提取链接
5.欢迎交流
6.求赞
/**************************/
1.原理
加密的方式有很多,无非就是改变原来文件的信息。
1.可以向文件里写入字节(密码);
2.可以将文件里的信息进行某种运算(密码);
3...
2.程序部分
2.1 密码获取
//获得密码的函数
__int64 CEcfileDlg::epass()
{
DWORD plen;
char *ppass;
__int64 mc= 8757735233305;
UpdateData(TRUE);
ppass = m_pass.GetBuffer(0);
plen = strlen(ppass);
for(int i=0; i<(int)plen; i++)
{
mc ^= ppass|128;
}
return mc;
}2.2 加密部分
//给文件加密的函数
BOOL CEcfileDlg::ecfile(LPCTSTR fpath)
{
char *data;
CFile *file;
DWORD flen;
m_password = epass();
file = new CFile;
if ( !file->Open(fpath, CFile::shareDenyNone|CFile::modeReadWrite))
{
return FALSE;
}
flen = (DWORD)file->GetLength();
data = new char[(int)flen];
file->SeekToBegin();
file->Read(data, flen);
for(int i=0; i<(int)flen; i++)
{
data ^= m_password;
data ^= flen;
}
file->SeekToBegin();
file->Write(data, flen);
delete[] data;
//添加密码验证信息
char cpass[5] = &#34;love&#34;;
for(int j=0; j<5; j++)
{
cpass[j] ^= m_password;
}
file->SeekToEnd();
file->Write(&cpass, 5);
file->Close();
delete file;
return TRUE;
}2.3 解密部分
//给文件解密的函数
BOOL CEcfileDlg::dcfile(LPCTSTR fpath)
{
char *data;
CFile *file;
DWORD flen;
char love[5];
file = new CFile;
if( !file->Open(fpath, CFile::shareDenyNone|CFile::modeReadWrite))
{
return FALSE;
}
flen = (DWORD)file->GetLength();
data = new char[(int)flen];
//检验密码是不是正确
file->Seek(-5, CFile::end);
file->Read(&love, 5);
m_password = epass();
for(int i=0; i<5; i++)
{
love ^= m_password;
}
if(strcmp(love, &#34;love&#34;)!=0)
{
return FALSE;
}
//解密
file->SeekToBegin();
file->Read(data, flen);
for(int j=0; j<(int)flen; j++)
{
data[j] ^= m_password;
data[j] ^= (flen-5);
}
file->SeekToBegin();
file->Write(data, flen);
file->SetLength(flen-5);
file->Close();
delete[] data;
delete file;
return TRUE;
}3.测试视频
为了试一下是不是能多各种格式的文件进行加密解密,录了两个视频。
选了视频(MP4)、图片(JPG)、文本(TXT)、压缩包(ZIP)四种格式。
3.1 文件加密测试视频

文件加密测试视频
https://www.zhihu.com/video/1135597361526001664
3.2 文件解密测试视频
本来就是上面那个视频测试的,但是因为里面的声音问题吧,没审核通过,换一个视频录一下。

解密测试:

Decryption test
https://www.zhihu.com/video/1135619216156753920
测试成功!!!!!!!!!!!
4.加密软件免费提取链接
我把直接能运行的exe上传到了云盘,可以直接提取使用。
我自己做的,不用联网啥的,没有任何风险。
提取链接:
复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1fUc5f1Cti1Nx_vBk3OGL3g 提取码:zscd
5.欢迎交流
运行软件时,右键可以按到联系方式。
6.求赞
例行求赞(╥╯^╰╥)嘤嘤嘤
 |
|