ファイルの暗号化・ストリーム型での暗号化

ここでは、情報を暗号化する、以下の2つの方法を説明します。

ファイルを暗号化する

ここでは、CSVファイルを暗号化する場合を例として、RecordGetコンポーネントの利用方法を説明します。

1.新規にプロジェクトを作成、または既存のプロジェクトファイルにフローを作成し、ファイルを読み込むRecordGetコンポーネントを配置します。

フロー

CSVファイル

2.RecordGetコンポーネントのプロパティを設定します。

「ファイルのエンコーディング」は、「UTF-8」を指定します。「自動判別」を指定すると、文字化けを起こします。

「読込み開始行」及び「取得行数」は、暗号化するファイルに合わせて設定します。

ストリーム型で暗号化する場合は、ストリーム型を選択し、「フィールド名」及び「データ型」を使用するファイルに合わせて設定します。

3.EncryptAESコンポーネントを配置します。


4.EncryptAESコンポーネントのプロパティの「パスワード」に、暗号化するファイルに対する、お客様任意のパスワードを設定します。

ストリーム型で暗号化する場合は、「出力エンコーディング」を暗号化するファイルと同じものに指定します。ここでは例として、「UTF-8」を指定します。

5.FilePutコンポーネントを配置します。

6.FilePutコンポーネントのプロパティで、暗号化したファイルの保存先とファイル名を指定します。

ストリーム型で暗号化する場合は、手順4と同じ設定を行います。

7.以下のフローになること、及びエラーが発生しないこと(必須プロパティが設定されていない、コンパイルエラー、ファイルパスの指定がないなど)を確認し、保存します。

8.フローを実行します。

9.フローが正常に終了すること、加えて、内容が暗号化されたファイルが、指定したディレクトリ及びファイル名で出力されていることを、確認します。

以上で、ファイルまたはストリームの暗号化は完了です。

データ読み込みで一部を暗号化する

データ読み込みでマッパーコンポーネントを使用することで、一部のデータを暗号化できます。

ここでは、CSVファイルを暗号化する場合を例として、RecordGetコンポーネントの利用方法を説明します。

1.データソースを読み込むRecordGetコンポーネントを配置します。

フロー

CSVファイル

2.RecordGetコンポーネントのプロパティを設定します。

「ファイルのエンコーディング」は、「UTF-8」を指定します。「自動判別」を指定すると、文字化けを起こします。

「読込み開始行」及び「取得行数」は、暗号化するファイルに合わせて設定します。

ストリーム型で暗号化する場合は、CSVを選択し、フィールドは存在する数の分を設定します。

3.マッパーコンポーネントを配置します。


4.マッパーで暗号化するフィールドを、EncryptAES関数を使用して暗号化の設定を行います。

マッパーコンポーネントのプロパティを、任意の値で設定します(以下の画面例では変更していません)。

基本

マッパー変数

プロパティは、暗号化する形式によって変更します。

ストリーム型で暗号化する場合は、「ストリーム型」を「CSV」、「出力エンコーディング」を「UTF-8」で指定し、フィールドは存在する数の分を設定します。

5.マッピングウィンドウで、マッピング領域にEncryptAES関数を2つ配置し、以下のように繋ぎます。

From 関数 To
No なし field1
Name EncryptAES関数 field2
age なし field3
form EncryptAES関数 field4

6.配置したEncryptAES関数を、それぞれに設定します。

「パスワード」は、任意の文字列を設定します。

Name→EncryptAES関数→field2

form→EncryptAES関数→field4

7.ワークスペースで、FilePutコンポーネントを配置します。

8.暗号化したファイルの出力先ディレクトリとファイル名を設定します。

ストリーム型で暗号化する場合は、暗号化元と同じ設定をします。


9.以下のフローになること、及びエラーが発生しないこと(必須プロパティが設定されていない、コンパイルエラー、ファイルパスの指定がないなど)を確認し、保存します。


10.フローを実行します。

11.フローが正常に終了すること、加えて、出力されたCSVファイルの2列目と4列目が暗号化されていることを確認します。

暗号化した列が改行されていても、復号化できます。

以上で、データ読み込みによる一部の暗号化は完了です。