| ENCRYPT | |
| 説明
特定のアルゴリズムおよびエンコード方法を使用して、文字列を暗号化します。 |
|
| 戻り値
文字列。元の文字列よりも長くなる場合があります。 |
|
| カテゴリ
セキュリティ関数, 文字列関数 |
|
関数のシンタックスEncrypt(string, key[, algorithm[, encoding]])) |
|
| 関連項目
Decrypt |
|
| ヒストリ
ColdFusion MX 7: algorithm パラメータと encoding パラメータが追加されました。 |
|
| パラメータ
|
|
| 使用方法
この関数では、文字列の暗号化と解読に同じキーを使用する、シンメトリカルなキーベースのアルゴリズムが使用されます。暗号化された文字列のセキュリティは、キーの機密性によって異なります。 デフォルトのアルゴリズム以外のすべてのアルゴリズムについて、ColdFusion MX 7 では JCE (Java Cryptography Extension) を使用し、Sun JCE デフォルトセキュリティプロバイダを含む Sun Java 1.4.2 ランタイムがインストールされます。このプロバイダには、前の「パラメータ」に示したアルゴリズムが含まれています。JCE フレームワークには、他のプロバイダを実装するための機能も含まれています。ただし、当社ではサードパーティのセキュリティプロバイダに対するテクニカルサポートは提供していません。 デフォルトのアルゴリズムは、ColdFusion 5 および ColdFusion MX で使用されたものと同じです。ユーザーが関数のパラメータとして渡すシードに基づいた擬似 32 ビットキーを使用する、XOR ベースのアルゴリズムが使用されます。このアルゴリズムは、使用可能な他のアルゴリズムに比べて安全性が劣ります。 |
|
| 例
次の例では、テキスト文字列を暗号化および解読します。暗号化アルゴリズムとエンコードテクニックを指定する必要があります。CFMX_COMPAT アルゴリズムで使用するキーシード用のフィールドもあります。CFMX_COMPAT 以外のすべてのアルゴリズムでは、シークレットキーが生成されます。 <h3>Encrypt の例</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 = "MyKey"><br>
<br>
<b>暗号化する文字列を入力</b><br>
<textArea name = "myString" cols = "40" rows = "5" WRAP = "VIRTUAL">この文字列は暗号化され
ます (入力を加えて、暗号化する文字列を置き換えることができます)。
</textArea><br>
<input type = "Submit" value = "文字列を暗号化">
</form>
|
|
| STRING | |
| 解読する文字列です。 | |
| KEY | |
文字列値です。文字列を暗号化するために使用するキーまたはシードです。
|
|
| ALGORITHM | |
(オプション) 文字列を解読するために使用するアルゴリズムです。ColdFusion MX では、次のア
ルゴリズムを使用する暗号ライブラリがインストールされます。
|
|
| これら以外の暗号アルゴリズムを使用するセキュリティプロバイダをインストールした場合は、そ の暗号化アルゴリズムや暗号解読アルゴリズムを指定することもできます。 | |
| ENCODING | |
(オプション) このパラメータを指定する場合は、algorithm パラメータも指定する必要がありま
す。これは、データを文字列として表すために使用するバイナリエンコードです。
|
|