Web Crypto API

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Web Crypto API は、暗号化を使用してシステムを構築するためにスクリプトが暗号化プリミティブを使用することを可能にするインターフェイスです。

警告: Web Crypto API は、低レベルの暗号化プリミティブを多数提供しています。それらは非常に使い方を間違えやすく、そして関連する落とし穴は非常に微妙である場合もあります。

基本的な暗号機能を正しく使用していると仮定しても、安全な鍵管理と全体的なセキュリティシステムの設計を正しく理解するのは非常に難しく、一般的にセキュリティ分野のスペシャリストの領域です。

セキュリティシステムの設計と実装に誤りがあると、システムのセキュリティが完全に無効になる可能性があります。

自分のしていることが分からない場合は、おそらくこの API を使用すべきではないでしょう。

インターフェイス

一部のブラウザーでは、Crypto というインターフェイスが明確に定義されておらず、暗号化されていなくても実装されていました。混乱を避けるために、このインターフェイスのメソッドとプロパティは Web Crypto API を実装しているブラウザーから削除され、 Web Crypto API のすべてのメソッドは新しいインターフェイス、つまり SubtleCrypto で利用可能になりました。Crypto.subtle プロパティはそれを実装しているオブジェクトへのアクセスを提供します。

仕様書

Specification
Web Cryptography API
# crypto-interface

ブラウザーの互換性

Crypto

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Crypto
getRandomValues()
randomUUID()
subtle
Secure context required

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.