RANDOMIZE  
説明

乱数ジェネレータで使用するシードを整数値で設定し、一貫した数値パターンが繰り返されるようにします。

 
戻り値

0 〜 1 の範囲の擬似的な乱数である小数

 
カテゴリ

算術関数、セキュリティ関数

 
関数のシンタックス
Randomize(number[, algorithm])
 
ヒストリ

ColdFusion MX 7: algorithm パラメータが追加されました。

 
関連項目

Rand、RandRange

 
パラメータ

 
使用方法

Rand を呼び出して乱数ジェネレータのシードを設定する前に、この関数を呼び出します。乱数ジェネレータのシードを設定すると、Rand 関数は常に擬似乱数の同じシーケンスを生成します。この動作は、一貫したパターンを再現する必要がある場合に役立ちます。

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

 

次の例では、Randomize 関数を呼び出して乱数ジェネレータのシードを設定し、10 個の乱数を生成します。シードの効果を確認するには、同じ値のフォームを複数回送信します。

<h3>Randomize の例</h3>

   <!--- フォームが送信された場合に限り、次の処理を実行します。 --->
<cfif IsDefined("Form.myRandomInt")>

   <!--- 送信値が数値であることを確認し、その値を表示します。 --->
   <cfif IsNumeric(FORM.myRandomInt)>
      <cfoutput>
         <b>シード値 : #FORM.myRandomInt#</b><br>
      </cfoutput><br>

      <!--- Randomize を呼び出して、乱数ジェネレータのシードを設定します。 --->
      <cfset r = Randomize(FORM.myRandomInt, "SHA1PRNG")>

      <cfoutput>
         <b>Randomize によって返される乱数 (#Form.myRandomInt#,
            "SHA1PRNG"):</b><br>
         #r#<br>
         <br>
         <b>SHA1PRNG を使用して生成される 10 個の乱数 :</b><br>
         <cfloop index = "i" from = "1" to = "10" step = "1">
            #Rand("SHA1PRNG")#<br>
         </cfloop><br>
      </cfoutput>

   <cfelse>
      <p>数値を入力してください。
   </cfif>
</cfif>

<!--- シード値を指定するフォーム --->
<form action="#CGI.SCRIPT_NAME#" method="post">
<p>乱数ジェネレータのシードに使用する値を入力してください。
<input type = "Text" name = "MyRandomInt" value="12345">
<p><input type = "Submit" name = "">
</form>
NUMBER  
整数です。数値が -2,147,483,648 〜 2,147,483,647 の範囲外である場合、ColdFusion ではエ ラーが生成されます。
ALGORITHM  
(オプション) シード値を生成するために使用するアルゴリズムです。ColdFusion MX では、次の アルゴリズムを使用する暗号ライブラリがインストールされます。
  • CFMX_COMPAT: (デフォルト) ColdFusion MX で使用するアルゴリズムです。
  • SHA1PRNG: Sun Java SHA1PRNG アルゴリズムを使用して数値を生成します。このアルゴリズムでは、デフォルトのアルゴリズムよりもランダム性を高めることができます。
  • IBMSecureRandom: IBM WebSphere 用のアルゴリズムです。IBM JVM は SHA1PRNG アルゴリズムをサポートしません。