self.crypto
グローバルの crypto
プロパティは読み取り専用で、グローバルオブジェクトに関連付けられた Crypto
オブジェクトを返します。このオブジェクトは、ウェブページが暗号に関連したサービスにアクセスできるようにします。
このプロパティ自体は読み取り専用ですが、そのメソッドすべて(加えて子オブジェクトのメソッドと SubtleCrypto
)は読み取り専用ではありません。そのためポリフィルによる攻撃には脆弱です。
crypto
はすべてのウィンドウで使用できますが、返される Crypto
オブジェクトは安全でないコンテキストで使用できる機能は 1 つしかありません。 getRandomValues()
メソッドです。一般的に、この API は安全なコンテキストでのみ使用する必要があります。
構文
Crypto
インターフェイスのインスタンスで、一般用途の暗号技術と強力な乱数生成器を提供します。
例
この例では、 crypto
プロパティを使用して getRandomValues()
メソッドへアクセスします。
JavaScript
genRandomNumbers = function getRandomNumbers() {
const array = new Uint32Array(10);
crypto.getRandomValues(array);
const randText = document.getElementById("myRandText");
randText.textContent = "乱数: "
for (let i = 0; i < array.length; i++) {
randText.textContent += array[i] + " ";
}
}
HTML
<p id="myRandText">乱数: </p>
<button type="button" onClick='genRandomNumbers()'>10 個の乱数を生成</button>
結果
仕様書
Specification |
---|
Web Cryptography API # dom-windoworworkerglobalscope-crypto |
ブラウザーの互換性
BCD tables only load in the browser