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

  • 大小: 7KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: C/C++
  • 標簽: c語言??

資源簡介

在 vc++6.0 上實現的文件加密解密程序注意沒有用mfc。

資源截圖

代碼片段和文件信息

#include?//輸入輸出函數
#include???
#include???//?標準庫函數
#include???//?字符串處理函數
#include???//?字符操作函數
#include???//?控制臺輸入輸出函數,雖然不是標準頭文件,但是大部分編譯器都支持

/**
?*?在文件開頭聲明函數原型,將函數定義放在main()函數后面
?*?這是一個優雅的編程習慣
**/
void?printMenu(void);
int?checkPwd(int?type);
int?encryptFile(char?*sourcefile?char?*secretKeychar?*targetFile);
char?redo(void);

/**
?*?password?被main()和checkPwd()兩個函數使用
?*?必須定義為全局變量,即在main()函數外部定義
**/
int??password=123456;??//?軟件初始密碼

int?main(){
/**
?*?不像?password?變量,下面這些變量只在main()函數內部使用
?*?所以可以定義為局部變量,即定義在mian()函數內部
**/
int?newpwd?newpwda;??//?更改密碼時,用戶兩次輸入的新密碼
char?sourcefile[30]??//?加密/解密的文件名
targetFile[30]??//?解密/加密后要保存的文件名
secretKey[21]??//?文件加密的密鑰
action;?//?要進行的操作

//?操作前先校驗密碼
if(!checkPwd(1)){
????????cout<<“抱歉,3次輸入密碼錯誤。按任意鍵退出程序...“;
getch();
exit(1);
}

//?密碼校驗成功,顯示程序菜單,執行各種操作
while(1){
system(“cls“);??//?清屏
printMenu();??//?顯示菜單
????????cin>>action;
fflush(stdin);??//?清空stdin緩沖區
system(“cls“);

switch(action){
//?退出系統
case?‘z‘:
exit(0);
break;

//?文件加密
case?‘a‘:
while(1){
????????????????????cout<<“輸入要加密的文件名(含路徑):\n“;
????????????????????cin>>sourcefile;
????????????????????cout<<“輸入密鑰:“;?//密鑰是用戶自己定義的,可以隨意給需要加密的文件添加密鑰
cin>>secretKey;
cout<<“加密后的文件名(含路徑):“;??//給加密后的文件命名,并保存
????????????????????cin>>targetFile;
if(?encryptFile(sourcefile?secretKey?targetFile)?){
????????????????????????cout<<“恭喜你,文件“<????????????????????}

if(redo()?==?‘a‘){??//?繼續加密文件
system(“cls“);
}else{??//?回到主菜單
break;
}
}
break;

//?文件解密
case?‘b‘:
while(1){
????????????????????cout<<“輸入要解密的文件名(含路徑):“;
????????????????????cin>>sourcefile;
????????????????????cout<<“輸入密鑰:“;
????????????????????cin>>secretKey;
????????????????????cout<<“解密后的文件名(含路徑):“;//對解密的文件系統又可以提供保存路徑
????????????????????cin>>targetFile;
if(?encryptFile(sourcefile?secretKey?targetFile)?){
????????????????????????cout<<“恭喜你,文件“< }
if(redo()?==?‘a‘){??//?繼續解密文件
system(“cls“);
}else{
break;??//?回到主菜單
}
}
break;

//?修改密碼
case?‘c‘:
while(1){
if(!checkPwd(2)){
????????????????????????cout<<“抱歉,3次輸入密碼錯誤。按任意鍵退出程序...“;
getch();
exit(0);
}

????????????????????cout<<“請輸入新密碼:“;
????????????????????cin>>newpwd;
????????????????????cout<<“請再次輸入新密碼:“;
????????????????????cin>>newpwda;
if(newpwd==newpwda){??//?兩次輸入密碼相同才成功
password?=?newpwd;
????????????????????????cout<<“恭喜你,修改密碼成功!\n“;
}else{
????????????????????????cout<<“兩次輸入密碼不相同,修改失敗!\n“;
}

if(redo()?==?‘a‘){??//?繼續修

評論

共有 條評論