GenerateSecretKey

説明

Encrypt 関数で使用するためのセキュリティ保護されたキー値を取得します。

戻り値

暗号化キーを含む文字列

カテゴリ

セキュリティ関数文字列関数

関数のシンタックス

GenerateSecretKey(algorithm)

関連項目

DecryptEncrypt

ヒストリ

ColdFusion MX 7: この関数が追加されました。

パラメータ

パラメータ 説明

algorithm

キーを生成する暗号化アルゴリズムです。ColdFusion MX では、次のアルゴリズムを使用する暗号ライブラリがインストールされます。

  • AES: NIST (National Institute of Standards and Technology: 米国標準技術局) FIPS-197 で定義された Advanced Encryption Standard です。
  • BLOWFISH: Bruce Schneier 氏が定義した Blowfish アリゴリズムです。
  • DES: NIST FIPS-46-3 で定義された Data Encryption Standard アルゴリズムです。

DESEDE: NIST FIPS-46-3 で定義された Triple DES アルゴリズムです。

使用方法

GenerateSecretKey 関数を使用して、Encrypt 関数および Decrypt 関数の ColdFusion デフォルト暗号化アルゴリズム (CFMX_COMPAT) のキーを生成することはできません。

ColdFusion MX 7 では、JCE (Java Cryptography Extension) を使用し、Sun JCE デフォルトセキュリティプロバイダを含む Sun Java 1.4.2 ランタイムがインストールされます。このプロバイダには、前の「パラメータ」に示したアルゴリズムが含まれています。JCE フレームワークには、他のプロバイダを実装するための機能も含まれています。ただし、当社ではサードパーティのセキュリティプロバイダに対するテクニカルサポートは提供していません。

次の例では、テキスト文字列を暗号化および解読します。暗号化アルゴリズムとエンコードテクニックを指定する必要があります。CFMX_COMPAT アルゴリズムで使用するキーシード用のフィールドもあります。その他のアルゴリズムの場合は、GenerateSecretKey 関数を使用してシークレットキーを生成します。

<h3>Decrypt の例</h3>

<!--- フォームが送信された場合、次の処理を実行します。 --->
<cfif IsDefined("Form.myString")>
   <cfscript>
      /* GenerateSecretKey は CFMX_COMPAT アルゴリズムのキーを生成しないので、
        フォームからキーを取得して使用します。
      */
      if (Form.myAlgorithm EQ "CFMX_COMPAT")
         theKey=Form.MyKey;
      // その他の暗号化テクニックの場合は、シークレットキーを生成します。
      else
         theKey=generateSecretKey(Form.myAlgorithm);
      //文字列を暗号化
      encrypted=encrypt(Form.myString, theKey, Form.myAlgorithm,
Form.myEncoding); //文字列を解読 decrypted=decrypt(encrypted, theKey, Form.myAlgorithm, Form.myEncoding); </cfscript> <!--- 暗号化と解読に使用した値、 および結果を表示します。 ---> <cfoutput> <b>アルゴリズム :</b> #Form.myAlgorithm#<br> <b>The key:</B> #theKey#<br> <br> <b>文字列 :</b> #Form.myString# <br> <br> <b>暗号化 :</b> #encrypted#<br> <br> <b>解読 :</b> #decrypted#<br> </cfoutput> </cfif> <!--- 入力形式 ---> <form action="#CGI.SCRIPT_NAME#" method="post"> <b>エンコードを選択</b><br> <select size="1" name="myEncoding" > <option selected>UU</option> <option>Base64</option> <option>Hex</option> </select><br> <br> <b>アルゴリズムを選択</b><br> <select size="1" name="myAlgorithm" > <option selected>CFMX_COMPAT</option> <option>AES</option> <option>DES</option> <option>DESEDE</option> </select><br> <br> <b>キーを入力</b> (CFMX_COMPAT 暗号化の場合にのみ使用)<br> <input type = "Text" name = "myKey" value = "foobar"><br> <br> <b>暗号化する文字列を入力</b><br> <textArea name = "myString" cols = "40" rows = "5" WRAP = "VIRTUAL">この文字列は暗号化されます (入力を加えて、暗号化する文字列を置き換えることができます)。 </textArea><br> <input type = "Submit" value = "文字列を暗号化"> </form>

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7