C++ で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?

WBOY
リリース: 2023-11-03 15:40:59
オリジナル
767 人が閲覧しました

C++ で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?

C で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?

はじめに:
インターネットの発展とスマートデバイスの普及に伴い、個人データや機密情報を保護することの重要性がますます高まっています。ファイルのセキュリティを確保するために、多くの場合、ファイルを暗号化する必要があります。この記事では、C を使用してファイルを不正アクセスから保護する簡単なファイル暗号化プログラムを作成する方法を紹介します。

  1. 要件分析:
    ファイル暗号化プログラムの作成を開始する前に、プログラムの基本機能と要件を明確にする必要があります。この単純なプログラムでは、対称暗号化アルゴリズムを使用してファイルの暗号化と復号化を行います。具体的な要件は次のとおりです。
  2. プログラムは、暗号化されるファイルのパスと暗号化キーを含むユーザー入力を受信できる必要があります。
  3. プログラムは、暗号化するファイルの内容を読み取り、キーを使用して暗号化できる必要があります。
  4. 暗号化されたコンテンツは、元のファイル拡張子を保持したまま、新しいファイルに保存する必要があります。
  5. ユーザーは、元のファイルを保持するか、元のファイルを削除して暗号化されたファイルを保持するかを選択できます。
  6. 開発環境と準備:
    C プログラムを作成する前に、次のツールと環境があることを確認する必要があります:
  7. コンパイラー: GCC または MinGW を使用することをお勧めします。 C プログラムをコンパイルします。
  8. テキスト エディタ: Visual Studio Code、Dev-C、Sublime Text など。
  9. C 言語の基本的な知識とファイル操作の関連知識を理解しておいてください。
  10. プログラムをビルドします:
    最初に新しい C ソース ファイルを作成し、必要なヘッダー ファイルをインクルードします:

    #include 
    #include 
    #include 
    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(inputFile)), (istreambuf_iterator()));
inputFile.close();
ログイン後にコピー

このコードでは、ifstream を使用して暗号化されるファイルを開いて、ファイルが暗号化されているかどうかを確認します。無事に開きました。ファイルを開けない場合はエラーメッセージを出力してプログラムを終了します。

次に、istreambuf_iterator を使用してファイルのコンテンツを読み取り、それを fileContent 文字列に保存します。

3.3 ファイル コンテンツの暗号化:
ファイル コンテンツを暗号化する前に、単純な暗号化アルゴリズムを実装する必要があります。ここでは、単純なビット演算 (XOR など) を使用して、単純なキーベースの暗号化アルゴリズムを実装します。

string encryptedContent = fileContent;
for(int i=0; i
ログイン後にコピー

このコードでは、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 元のファイルを削除または保持する:
ユーザーは、元のファイルを削除するか、元のファイルを保持して暗号化されたファイルを削除するかを選択できます。ユーザーの選択に従って、対応するコードを記述してこの機能を実装します。

  1. テスト プログラム:
    コードの記述が完了したら、プログラムの機能を検証するためにいくつかの簡単なテストを実行できます。

不適切なテストによるファイルの損失を避けるために、テストの前にファイルをバックアップしていることを確認してください。

プログラムをコンパイルして実行する前に、プログラムが正しく実行できるように、正しい入力パラメータが設定されていることを確認してください。

  1. 概要:
    この記事では、C を使用して簡単なファイル暗号化プログラムを作成する方法を紹介します。要件を分析し、コードを記述し、簡単なテストを実行することで、基本的なファイル暗号化プログラムを実装できます。ただし、これは単なる例であり、より高い要件 (より安全な暗号化アルゴリズムの使用など) がある場合は、このプログラムをさらに拡張および改善できます。

以上がC++ で簡単なファイル暗号化プログラムを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!