Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. Web API
  3. Crypto
  4. getRandomValues()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Crypto: getRandomValues() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

Crypto.getRandomValues() メソッドは、暗号強度の強い乱数値を取得します。引数で与えた配列は、すべて乱数で(暗号学的な意味でランダムに)埋められます。

十分な性能を保証するために、実装は真に乱数発生器を使用しているのではないものの、十分なエントロピーを有するシード値を用いた擬似乱数発生器を使用しています。擬似乱数発生器アルゴリズム (PRNG) は、ユーザーエージェントによって異なる可能性がありますが、暗号化の目的には適しています。

getRandomValues()Crypto インターフェイスで保護されたコンテキスト外から使用することができる唯一のメンバーです。

構文

js
getRandomValues(typedArray)

引数

typedArray

整数値ベースのTypedArray です。Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array,BigUint64Array の何れかです(ただしFloat32ArrayFloat64Array ではありません)。配列内のすべての要素は乱数で上書きされます。

返値

typedArray と同じ配列が渡されますが、その内容は新しく生成された乱数で置き換えられます。typedArray はその場で変更され、コピーは行われないことに注意してください。

例外

QuotaExceededErrorDOMException

typedArraybyteLength が 65,536 バイトを超えた場合に発生します。

使用上の注意

getRandomValues() を暗号鍵を生成するために使用しないでください。代わりにgenerateKey() メソッドを使用してください。これにはいくつかの理由があります。例えば、getRandomValues() が保護されたコンテキストで動作することが保証されていないことなどです。

ウェブ暗号仕様書では、エントロピーの最小値は規定されていません。その代わり、ユーザーエージェントは乱数を生成する際に、ユーザーエージェント自身に組み込まれた、よく定義された効率的な擬似乱数発生器を用いて、可能な限り最高のエントロピーを提供することが求められています。例えば、プラットフォーム固有の乱数関数、 Unix の/dev/urandom デバイス、または他のランダムまたは擬似乱数データのソースなど、外部の擬似乱数ソースから取得したシード値が用いられます。

js
const array = new Uint32Array(10);self.crypto.getRandomValues(array);console.log("Your lucky numbers:");for (const num of array) {  console.log(num);}

仕様書

Specification
Web Cryptography Level 2
# Crypto-method-getRandomValues

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp