Randomize

説明

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

戻り値

0~1 の範囲の擬似乱数(小数)

カテゴリ

数学関数セキュリティ関数

関数のシンタックス

Randomize(number[, algorithm])

履歴

  • ColdFusion(2023 リリース)アップデート 8 および ColdFusion(2021 リリース)アップデート 14:デフォルトのアルゴリズムが CFMX_COMPAT から SHA1PRNG に変更されました。
  • ColdFusion MX 7:algorithm パラメーターが追加されました。

関連項目

RandRandRange

パラメーター

パラメーター

説明

number

整数です。数値が -2,147,483,648~-2,147,483,647 の範囲に含まれない場合、ColdFusion ではエラーが発生します。

algorithm

(オプション)シード値の生成に使用するアルゴリズムです。ColdFusion では、次のアルゴリズムを使用する暗号ライブラリがインストールされます。

  • CFMX_COMPAT:ColdFusion で使用されるアルゴリズムです。
  • SHA1PRNG:Sun Java SHA1PRNG アルゴリズムを使用して数値を生成します。このアルゴリズムでは、デフォルトのアルゴリズムよりもランダム性を高めることができます。メモ:ColdFusion 9、10 および 11 のバグが原因で、このオプションは正常に機能しません。詳しくは、3792283 バグを参照してください。これがデフォルトです。
  • IBMSecureRandom:IBM WebSphere 用のアルゴリズムです。IBM JVM は SHA1PRNG アルゴリズムをサポートしていません。

使用方法

乱数ジェネレーターのシードを設定するには、Rand を呼び出す前に、この関数を呼び出します。乱数ジェネレーターのシードを設定すると、Rand 関数は常に同じ擬似乱数列を生成します。この動作は、一貫したパターンを再現する必要がある場合に役立ちます。標準版では、デフォルトのアルゴリズム以外のすべてのアルゴリズムに対して JCE(Java Cryptography Extension)が使用され、Sun JCE のデフォルトセキュリティプロバイダーを含む Sun Java ランタイムがインストールされます。このプロバイダーには、「パラメーター」節で示したアルゴリズムが含まれています。JCE フレームワークには、他のプロバイダーの実装を使用するための機能も含まれています。ただし、アドビでは、サードパーティのセキュリティプロバイダーに対するテクニカルサポートは提供していません。エンタープライズ版の ColdFusion では、RSA BSafe Crypto-J ライブラリもインストールされます。このプロバイダーでは、FIPS186PRNG、MD5PRNG、DummyPRNG、OBFPRNG の各アルゴリズムが追加されます。DummyPRNG は常に 0 を返します。

メモ:特定の初期シードに対して反復可能な数のパターンを取得するには、エンタープライズ版およびデベロッパー版で次のように JVM 引数を使用して JSAFE を無効にする必要があります。

Dcoldfusion.disablejsafe=true

次の例では、Randomize 関数を呼び出して乱数ジェネレーターのシードを設定し、10 個の乱数を生成します。 

<cfset randomize(12345)> <! --- この行を削除すると、乱数は毎回異なります --->
<cfloop index=&quot;i&quot; from=&quot;1&quot; to=&quot;10&quot;>
<cfoutput>#rand()#</cfoutput><br>
</cfloop>

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト