ファイルやテキストの復号化
今回は暗号化されたテキストデータを復号化(解読)する方法を解説します。
暗号化技術と注意点
Section titled “暗号化技術と注意点”今回使用するのは、AES という暗号化技術です。
現在でも多くの環境で利用されている技術で、身近なものでいえば Wi-Fi ルーターと端末との接続(WPA2 / WPA3)にも使用されています。
ブルートフォース(総当たり)での解析は難しく、鍵長を 256 ビットに設定した場合、総当たりで解読することは現実的な時間では不可能とされています。
共通鍵暗号方式に分類され、暗号化と復号化に同じパスワードを必要とします。
そのためパスワードを紛失してしまうと、データを元の状態に復号することができなくなります。
Power Automate Desktop を使用して AES で暗号化した場合は、復号のために必ずパスワードは控えておくようにしましょう。
また、今回は解読方法について解説しますが、前述した通り総当たりでの解析は非常に難しいです。
パスワードを忘れてしまった場合でも、暗号化アルゴリズムを把握しており、パスワードの桁数が少なければ解読できるかもしれませんが、あまり現実的ではありません。
解説はあくまで、Power Automate Desktop を使用して暗号化されたデータを、同一のパスワードを使って復号化するケースに限るということをご了承ください。
パスワードの設定方法
Section titled “パスワードの設定方法”前述した通り、AES を使って暗号化・復号化するためにはパスワードが必要になります。
パスワードの指定は、直接入力や変数を用いた入力など柔軟に設定できますが、おすすめは機密情報としてマークした入力変数です。

この方法であれば、フロー設定時や実行時でも、パスワードを安全に保つことができます。
特定のテキストデータを復号化する場合
Section titled “特定のテキストデータを復号化する場合”すでに暗号化されている特定の文字列情報を復号化する場合、「AES でテキストを解読する」というアクションを使用します。
「AES でテキストを解読する」アクションの詳細
Section titled “「AES でテキストを解読する」アクションの詳細”アクションは以下のパラメーターを持ちます。
| パラメーター名 | 値 |
|---|---|
| エンコード | 解読されたテキストのエンコード(文字コード) |
| 暗号化解除するテキスト | 復号化する対象テキスト(Base64 形式の文字列) |
| 解読キー | 復号化に使用するパスワード |

エンコード・パディング・キー サイズは、暗号化したときと同じものを指定してください。異なる設定では正しく復号化できません。復号化の結果は変数 DecryptedText に格納されます。
暗号化時に詳細設定の「salt を使用します」「初期化ベクトルを使用します」をオンにした場合は、復号化時にも同じ項目をオンにし、暗号化時に生成されたソルトと初期化ベクトルの値(Base64 形式の文字列)を指定する必要があります。
サンプルフローをコピーアンドペーストで実装する
Section titled “サンプルフローをコピーアンドペーストで実装する”サンプルとして、テキストデータを一度暗号化し、同一の鍵を使って復号化するフローを用意しました。
以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。
パスワードは前述した方法で、「password」という名前の入力変数が存在することを前提としています。
SET TargetString TO $'''%'暗号化する対象テキスト'%'''Cryptography.EncryptText.EncryptTextWithAES Encoding: Cryptography.EncryptionEncoding.UTF8 TextToEncrypt: TargetString EncryptionKey: password PaddingMode: Cryptography.PaddingMode.PKCS7 KeySize: Cryptography.AESKeySize.Bits256 EncryptedText=> EncryptedTextCryptography.DecryptText.DecryptTextWithAES Encoding: Cryptography.EncryptionEncoding.UTF8 TextToDecrypt: EncryptedText DecryptionKey: password Padding: Cryptography.PaddingMode.PKCS7 KeySize: Cryptography.AESKeySize.Bits256 DecryptedText=> DecryptedText実行すると、対象となったデータが暗号化され、復号結果と対象データが一致していることを確認できます。
Power Automate Desktop を操作して実装
Section titled “Power Automate Desktop を操作して実装”-
「アクションの検索」から、「AES でテキストを解読する」と入力します。
-
パラメーターを以下のように設定します。
%EncryptedText%は、サンプルフローの暗号化アクションで生成される変数です。パラメーター名 値 エンコード UTF-8 暗号化解除するテキスト %EncryptedText% 解読キー 復号化に使用するパスワード -
実行することで、指定した文字列が AES を用いて復号化されます。
起こりうる例外
Section titled “起こりうる例外”復号化の設定が適切でない場合や、対応していない文字列が含まれている場合、復号化中にエラーが発生する可能性があります。
ブロック処理を実装しておくことをおすすめします。