コンテンツにスキップ

ハッシュ値の算出

今回はテキストやファイルデータをハッシュ化し、ハッシュ値を算出する方法を解説します。

ハッシュ化とは、ハッシュ関数を通して、元のデータから固定長の文字列(ハッシュ値)を生成する技術です。

同一のデータをハッシュ化すれば必ず同じハッシュ値が算出され、異なるデータから同じハッシュ値が得られることは事実上ありません。

データ全体を突き合わせなくても、ハッシュ値を比較するだけでデータが同一かどうかを確認できるため、データが改ざんされていないことの確認などに用いられます。

また、ハッシュ値から元のデータを導き出すことは事実上できません。

今回使用するのは、「テキストをハッシュ化します」というアクションです。

「テキストをハッシュ化します」アクションの詳細

Section titled “「テキストをハッシュ化します」アクションの詳細”

アクションは以下のパラメーターを持ちます。

パラメーター名 値
ハッシュ アルゴリズム ハッシュ化に使用するアルゴリズム(SHA256 / SHA384 / SHA512)
エンコード ハッシュ化するテキストのエンコード(文字コード)
ハッシュ化するテキスト ハッシュ化する対象テキスト

action

ハッシュ化の結果は、変数 HashedText に格納されます。同じテキストでもエンコードが異なればハッシュ値も変わるため、ハッシュ値を比較する場合はエンコードをそろえてください(既定値は「Unicode」です)。

サンプルフローをコピーアンドペーストで追加する

Section titled “サンプルフローをコピーアンドペーストで追加する”

今回はサンプルとして、指定したテキストデータからハッシュ値を算出するフローを用意しました。

以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。

SET HugeData TO $'''%'大きすぎて転送が難しいデータ'%'''
Cryptography.HashText HashAlgorithm: Cryptography.HashAlgorithm.SHA256 Encoding: Cryptography.EncryptionEncoding.UTF8 TextToHash: HugeData HashedText=> HashedText

Power Automate Desktop を操作して実装

Section titled “Power Automate Desktop を操作して実装”
  1. 「アクションの検索」から、「テキストをハッシュ化します」と入力します。

  2. パラメーターを以下のように設定します。%HugeData% は、サンプルフローの 1 行目(「変数の設定」)で作成した変数です。

    パラメーター名 値
    ハッシュ アルゴリズム SHA256
    エンコード UTF-8
    ハッシュ化するテキスト %HugeData%
  3. 実行することで、指定したテキストデータをハッシュ化した結果が変数に格納されます。

ハッシュ化の実行時にエラーが発生する可能性があります。

ブロック処理を実装しておくことをおすすめします。