91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18.92MB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-02
  • 語言: C/C++
  • 標簽: 文件加密??

資源簡介

這個資料5分資源,應該是很值的(除了程序外,還包含幾篇論文資料)。 1、密鑰均是自動產生,并且密鑰被隱藏到圖片中。其中涉 及到如何將一個圖片隱藏到另一張圖片。 2、圖片上可以顯示任意字符(中英文均可)進行簽名。 3、采用VB做界面,VC++做的動態鏈接庫。 4、使用AES(只支持128密鑰),DES,和矩陣加密算法實現。 5、可以進行文件加密,也可以字符串加密并顯示。。

資源截圖

代碼片段和文件信息

//?DLL2.cpp?:?Defines?the?entry?point?for?the?DLL?application.
//

#include?“stdafx.h“
#define?DLL2_EXPORTS
#include?
#include?
#include?“DLL2.h“
#include?“head.h“

char??epath[500]; ???//?圖片背景,字模等的路徑
char??efile[500]; ???//?加密/解密文件路徑
char??type; ???//?采用加密的類型:
???//???0:DES
???//???1:AES
???//???2:?MDS

BOOL?APIENTRY?DllMain(?HANDLE?/*hModule*/?
???????????????????????DWORD??ul_reason_for_call?
???????????????????????LPVOID?/*lpReserved*/
?????????????????????)
{
????switch?(ul_reason_for_call)
????{
????????case?DLL_PROCESS_ATTACH:
????????case?DLL_THREAD_ATTACH:
????????case?DLL_THREAD_DETACH:
????????case?DLL_PROCESS_DETACH:
????????????break;
????}
????return?TRUE;
}


/**
?*??將單個字符轉化為16進制
?*
?**/
void?tohex(unsigned?char?dataunsigned?char?*result?)
{
static?unsigned?char?p[16]?=?
{
‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘
‘8‘‘9‘‘A‘‘B‘‘C‘‘D‘‘E‘‘F‘
};
result[0]?=?p[?data?>>?4??];
result[1]?=?p[?data?&?0x0f];
return?;
}

/**
?*?將二進制文件變換稱16進制
?*
?**/
DLL2_API?void?__stdcall?filetohex(char?*file_in?int?length?)
{
char?filename[300];
char?ch??result[3]={‘\0‘};
FILE?*in*out;

for(int?i?=?0?;?i?<=?length?;?i?++?)
{
filename[i]?=?file_in[i];
}
filename[i]?=?‘\0‘;

in?=?fopen(filename“rb“);
out?=?fopen(“c:\\tmp““wb“);
assert(in?!=?NULL?);
assert(out?!=?NULL?);

result[2]?=?‘\0‘;

while(?fscanf(in“%c“&ch)?==?1?)
{
tohex(?(unsigned?char)ch??(unsigned?char?*)result?);
fprintf(?out“%s“result);
}
fclose(in);
fclose(out);

in?=?fopen(“c:\\tmp““rb“);
out?=?fopen(filename“wb“);

while(fscanf(in“%c“&ch)?==?1?)
{
fprintf(out“%c“ch);
}

fclose(in);
fclose(out);
remove(“c:\\tmp“);
return?;
}


/**
?*??將16進制文件,轉換稱二進制文件
?*??
?**/
DLL2_API?void?__stdcall?filetochar(char?*file_in?int?length?)
{
char?filename[300];
char?ch?;
FILE?*in*out;

for(int?i?=?0?;?i?<=?length?;?i?++?)
{
filename[i]?=?file_in[i];
}
filename[i]?=?‘\0‘;

in?=?fopen(filename“rb“);
out?=?fopen(“c:\\tmp““wb“);
assert(in?!=?NULL?);
assert(out?!=?NULL?);

while(?fscanf(in“%2x“&ch)?==?1?)
{
fprintf(?out“%c“ch);
}
fclose(in);
fclose(out);

in?=?fopen(“c:\\tmp““rb“);
out?=?fopen(filename“wb“);

while(fscanf(in“%c“&ch)?==?1?)
{
fprintf(out“%c“ch);
}

fclose(in);
fclose(out);
remove(“c:\\tmp“);
return?;
}

DLL2_API?void?__stdcall?BeginEncrypt(char?*file_in?char?*name??char?*info_path??int?file_in_lengthint?name_length?int?info_path_length?int?flage??)
{
char?ename[500];
for(int?i?=0?;?i?<=?file_in_length;?i?++?)
{
efile[i]?=?file_in[i];
}
efile[i]?=?‘\0‘;

for(i?=0?;?i?<=?name_length;?i?++?)
{
ename[i]?=?name[i];
}
ename[i]?=‘\0‘;

for(i?=0?;i?<=?info_path_length?;?i?++?)
{
epath[i]?=?info_path[i];
}
epath[i]?=‘\0‘?;


srand(time(0)); //?設定隨機種子

type?=?flage?;
switch

評論

共有 條評論