暗号化データをデータベースから復号する¶
データベースに保存した暗号化データを復号してシートに表示するには、暗号化データを UTIL.DECRYPT(データを復号する)関数を使用して復号(元のデータに戻す)し、「セルに値をセットする」アクション等を使用してシートに表示します。
ここでは、UTIL.DECRYPT 関数を使用して、暗号化データを復号してシートに表示する方法を説明します。
参考
データの暗号化例については 暗号化データをデータベースに保存する を参照してください。
暗号化キー情報を設定する¶
暗号化データを復号するには事前に '暗号化キー' を設定する必要があります。設定方法は 暗号化キー情報の設定をする を参照してください。
設定した暗号化キー名は UTIL.DECRYPT 関数で使用します。
注意
暗号化データを復号して元のデータに戻すためには、暗号化関数(UTIL.ENCRYPT 関数)で使用した同じ暗号化キー情報を使う必要があります。
復号関数を使用する¶
UTIL.DECRYPT 関数は、第1引数に '暗号化文字列(復号したい値)' を指定し、第2引数に設定した '暗号化キー名' を指定します。
![]()
ヒント
- どちらの引数にも、セル、または、名前を指定することができます。
- '暗号化キー名' は大文字小文字を区別しません。
- 暗号化キー名 ’default’ が設定されている場合は、 '暗号化キー名' を省略することで、 ’default’ 暗号化キーの情報を使って復号することができます。
UTIL.DECRYPT 関数は成功すると、暗号化文字列を復号した結果(暗号化前のもともとのデータ)を返します。
- 例:暗号化文字列 ’876D2EABAF9D4BA1FE832F875506739C7707BC5BAB91C507BBC9DD3070E04916’ を登録した暗号化キー情報 ’key-1’ を使って復号
注意
以下のケースの場合は復号が失敗(#VALUE!)します。
暗号化文字列が文字列ではない場合(例えば、セル範囲指定をした場合など)
暗号化キー名が文字列ではない場合(例えば、セル範囲指定をした場合など)
暗号化に使用したものと異なる暗号化キーを指定した場合
指定した暗号化文字列が、指定した名前の暗号化キーファイルで暗号化したものではない場合
指定した名前の暗号化キー情報が登録されていない場合
指定した名前の暗号化キーファイルが読み取れない場合
指定した名前の暗号化キーファイルが CELF の暗号化キー作成機能で作成したファイルでない場合
- C:/ProgramData/Microsoft/Crypto/RSA/MachineKeys フォルダの Everyone グループに「特殊なアクセス許可」が付与されていない場合※ この場合、上記フォルダにアクセス許可がないため、上記フォルダに「特殊なアクセス許可」を付与する必要があります。「特殊なアクセス許可」を付与するには、以下のコマンドを実行してください。(必要に応じて管理者権限で実行してください。)
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /inheritance:e /grant Everyone:(RD,RA,REA,WD,AD,WA,WEA,RC)
暗号化データをデータベースから復号してシートに表示する¶
UTIL.DECRYPT 関数を使って暗号化データをデータベースから復号してシートに表示する方法を説明します。
ここでは、以下のような簡単な取得処理を例とし、暗号化データをデータベースから復号してシートに表示します。
復号の対象は以下のカラムとし、「名前」はそのまま表示することとします。
- 住所
- 電話番号
- 生年月日
注意
UTIL.DECRYPT 関数は、暗号化文字列を復号した文字列 を返します。よって、必要に応じて表示するセルの書式を設定する必要があります。
「取得」アクション後に「セルに値をセットする」アクションで復号する¶
- 以下のように、「取得」アクションにて表示したいセルに暗号化データをセットするように設定します。この後に「セルに値をセットする」アクションにて UTIL.DECRYPT 関数を設定します。
- アクションが実行されたタイミングで関数により値が復号され、復号データがシートに表示されます。
ちなみに
次のように、シート上に UTIL.DECRYPT 関数を設定して復号することもできます。
- 「取得」アクションにて、復号したいデータ(暗号化データ)を表示セルとは別の作業域のセルに取得するように設定します。
- 以下のように、復号して表示したいセルに UTIL.DECRYPT 関数を設定し、それぞれデータベースから取得したデータ(暗号化データ)を設定したセルを参照するようにしておきます。「取得」アクションにて暗号化データがセルに設定されたタイミングで関数により復号されて、シートに表示されます。
注意
暗号化されているデータを取得する際に正しく検索できる条件は以下になります。
が次と一致する
が次と一致しない
が次のいずれかと一致する
が次のいずれかと一致しない
が空
が空でない
上記は「完全一致」検索条件であり、暗号化データの性質上、CELFにおいては「部分一致」は正しく検索できないことに注意してください。
ヒント
下記の検索条件は、セルに関数を設定して、検索条件欄にそのセルを指定してください。
- が次のいずれかと一致する
- が次のいずれかと一致しない