RandRange

説明

指定された 2 つの数値間の範囲で擬似乱数(整数)を生成します。

戻り値

擬似乱数(整数)

カテゴリ

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

関数のシンタックス

RandRange(number1, number2[, algorithm])

履歴

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

関連項目

RandRandomize

パラメーター

パラメーター

説明

number1、number2

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

algorithm

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

  • CFMX_COMPAT:ColdFusion で使用されるアルゴリズムです。
  • SHA1PRNG:Sun Java SHA1PRNG アルゴリズムを使用して数値を生成します。このアルゴリズムでは、ランダム性を高めることができます。これがデフォルトです。
  • IBMSecureRandom: IBM WebSphere 用のアルゴリズムです。IBM JVM は SHA1PRNG アルゴリズムをサポートしません。

使用方法

number1 および number2 パラメーターが正または負の非常に大きな値である場合、得られる結果のランダム性が低くなる可能性があります。この問題を避けるには、-1,000,000,000~1,000,000,000 の範囲に含まれない数値を指定しないようにします。ColdFusion では、JCE(Java Cryptography Extension)を使用し、Sun JCE デフォルトセキュリティプロバイダーを含む Sun Java 1.4.2 ランタイムがインストールされます。このプロバイダーには、「パラメーター」節で示したアルゴリズム(デフォルトのアルゴリズムを除く)が含まれています。JCE フレームワークには、他のプロバイダーを実装するための機能も含まれています。ただし、当社ではサードパーティのセキュリティプロバイダーに対するテクニカルサポートは提供していません。

次の例では、3 つのアルゴリズムをすべて使用して、-100000~100000 の範囲の乱数を生成しています。

<cfscript>
       num1 = -100000;
       num2 = 100000;
       randAlgorithmArray = [&quot;CFMX_COMPAT&quot;, &quot;SHA1PRNG&quot;, &quot;IBMSecureRandom&quot;];
       for(index = 1; index <= arrayLen(randAlgorithmArray); index++)
       {
             WriteOutput(&quot;#randAlgorithmArray[index]# を使用した場合の #num1#~#num2# の範囲の乱数:&quot; 
             & randRange(num1, num2, randAlgorithmArray[index]) & &quot;<br/>&quot;);
       }
</cfscript>

出力

CFMX_COMPAT を使用した場合の -100000~100000 の範囲の乱数:73552
SHA1PRNG を使用した場合の -100000~100000 の範囲の乱数:59144
IBMSecureRandom を使用した場合の -100000~100000 の範囲の乱数:28588

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

新規ユーザーの場合

Adobe MAX 2025

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

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