C で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?
はじめに:
インターネットの発展とスマートデバイスの普及に伴い、個人データや機密情報を保護することの重要性がますます高まっています。ファイルのセキュリティを確保するために、多くの場合、ファイルを暗号化する必要があります。この記事では、C を使用してファイルを不正アクセスから保護する簡単なファイル暗号化プログラムを作成する方法を紹介します。
プログラムをビルドします:
最初に新しい C ソース ファイルを作成し、必要なヘッダー ファイルをインクルードします:
#include <iostream> #include <fstream> #include <string> using namespace std;
次に、 main 関数を記述します。需要分析の要件に応じてプログラムの機能を段階的に実現します。
3.1 ユーザー入力の受信:
int main() { string filePath; string key; cout << "请输入待加密文件的路径:"; cin >> filePath; cout << "请输入加密密钥:"; cin >> key; // 其它代码... return 0; }
このコードでは、cin
を使用してユーザーが入力したファイル パスと暗号化キーを受信し、対応するファイル パスと暗号化キーを保存します。変数で。
3.2 暗号化されるファイルの内容を読み取ります:
ifstream inputFile(filePath, ios::binary); if(!inputFile) { cout << "无法打开文件:" << filePath << endl; return 1; } string fileContent((istreambuf_iterator<char>(inputFile)), (istreambuf_iterator<char>())); inputFile.close();
このコードでは、ifstream
を使用して暗号化されるファイルを開いて、ファイルが暗号化されているかどうかを確認します。無事に開きました。ファイルを開けない場合はエラーメッセージを出力してプログラムを終了します。
次に、istreambuf_iterator
を使用してファイルのコンテンツを読み取り、それを fileContent
文字列に保存します。
3.3 ファイル コンテンツの暗号化:
ファイル コンテンツを暗号化する前に、単純な暗号化アルゴリズムを実装する必要があります。ここでは、単純なビット演算 (XOR など) を使用して、単純なキーベースの暗号化アルゴリズムを実装します。
string encryptedContent = fileContent; for(int i=0; i<encryptedContent.size(); i++) { encryptedContent[i] ^= key[i % key.size()]; }
このコードでは、fileContent
文字列を反復処理し、キーと XOR してファイル コンテンツを暗号化します。
3.4 暗号化されたコンテンツを新しいファイルに保存します:
string encryptedFilePath = filePath + ".encrypted"; ofstream outputFile(encryptedFilePath, ios::binary); if(!outputFile) { cout << "无法创建加密文件:" << encryptedFilePath << endl; return 1; } outputFile.write(encryptedContent.c_str(), encryptedContent.size()); outputFile.close();
このコードでは、ofstream
を使用して新しいバイナリ ファイルを作成し、ファイルが正常に作成されたかどうかを確認します。ファイルの作成に失敗した場合は、エラーメッセージが出力されてプログラムが終了します。
次に、write
関数を使用して、暗号化されたコンテンツを新しいファイルに書き込み、ファイルを閉じます。
3.5 元のファイルを削除または保持する:
ユーザーは、元のファイルを削除するか、元のファイルを保持して暗号化されたファイルを削除するかを選択できます。ユーザーの選択に従って、対応するコードを記述してこの機能を実装します。
不適切なテストによるファイルの損失を避けるために、テストの前にファイルをバックアップしていることを確認してください。
プログラムをコンパイルして実行する前に、プログラムが正しく実行できるように、正しい入力パラメータが設定されていることを確認してください。
以上がC++ で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。