C++によるファイルの復号化について。
C++を学習しています。ファイルの暗号化復号化をやってみたのですが、うまくいきませんでした。
お力いただけると嬉しいです。
お尋ねしたいこと
そもそも暗号化に間違いがあるのかもしれませんが、復号化がうまくいきません。
私が行ったことを以下に示します。
暗号化コード
#include<iostream> #include<fstream> #include<cstdlib> #include<conio.h> #include<stdlib.h> using namespace std; int main() { system("cls"); fstream file,file2; char ch,fname[20]; cout << "暗号化するファイル名を入力してください(拡張子込み)"<<endl; cin >> fname; file.open("fname", ios::out); if (!file.is_open()) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } file2.open("temp.txt"); if (!file2) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } while(file.eof()==0) { file >> ch; ch = ch + 100; file2 << ch; } file.close(); file2.close(); file.open(fname); if (!file) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } file2.open("temp.txt"); if (!file2) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } while (file2.eof() == 0) { file2 >> ch; file << ch; } cout << "ファイル" << fname << "が正常に暗号化されました" << endl; cout << "\ n終了するには任意のキーを押してください..."; file.close(); file2.close(); }
復号化コード
#include<iostream> #include<fstream> #include<cstdlib> #include<conio.h> #include<stdlib.h> using namespace std; int main() { system("cls"); fstream file, file2; char ch, fname[20]; cout << "復号化すために暗号化したファイル名を入力してください(拡張子込み)" << endl; cin >> fname; file.open("fname", ios::out); if (!file.is_open()) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } file2.open("temp.txt"); if (!file2) { cout << "temp.txtファイルの作成中にエラーが発生しました.. !!"; file.close(); cout << "\ n終了するには任意のキーを押してください..."; return EXIT_FAILURE; } while (file2.eof() == 0) { file2 >> ch; ch = ch - 100; file << ch; } cout << "ファイル" << fname << "が正常に復号化されました"; file.close(); file2.close(); }
やってみたこと
このように復号化を実行しても元に戻りません。
なにが間違いなのでしょうか。。。。
開発環境
VitualStudio2019
C++
参考文献
https://codescracker.com/cpp/program/cpp-program-encrypt-file.htm
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 08:36