SubtleCrypto

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.

* Some parts of this feature may have varying levels of support.

A interface SubtleCrypto representa um conjunto de criptografias primitivas. E está disponível via propriedades Crypto.subtle disponíveis em uma janela de contexto (via Window.crypto).

Aviso: Por especificação: "Desenvolvedores fazendo uso da interface SubtleCrypto devem estar cientes das preocupações associadas com o design e a implementação de vários algoritmos providos. Os algoritmos brutos são providos em ordem para permitir aos desenvolvedores uma felixibilidade máxima na implementação de uma variedade de protocolos e aplicações, cada um deve representar a composição e os parâmetros de segurança em uma maneira única que necessita do uso de algoritmos brutos."

Propriedades

Esta interface não herda e nem implementa nenhuma propriedade.

Métodos

Esta interface não herda nenhum método

SubtleCrypto.encrypt()

Retorna uma Promise da informação criptografada correspondente com o texto, algoritmo e chave key dados como parâmetros.

SubtleCrypto.decrypt()

Retorna uma Promise da informação correspondente ao texto encriptografado, algoritmo e key dados como parâmetros.

SubtleCrypto.sign()

Retorna uma Promise de uma assinatura correspondente ao texto, algoritmo e key dados como parâmetros.

SubtleCrypto.verify()

Retorna uma Promise de um valor Boolean indicando se a assinatura dada como parâmetro combina com o texto, algoritmo e key também dados como parâmetros.

SubtleCrypto.digest()

Retorna uma Promise de um resumo gerado a partir do algoritmo e texto dados como parâmetros.

SubtleCrypto.generateKey()

Retorna uma Promise de uma recentemente gerada CryptoKey, para algoritmos simétricos, ou uma CryptoKeyPair, contendo duas novas keys simétricas, para algoritmos assimétricos, que combina com o algoritmo, os usos e a extrabilidade dados como parâmetros.

SubtleCrypto.deriveKey()

Retorna uma Promise de uma recentemente gerada CryptoKey derivada de uma master key e um algoritmo específico dados como parâmetros.

SubtleCrypto.deriveBits()

Retorna uma Promise de um buffer recentemente gerado de bits pseudo-randômicos derivados de uma master key e um algoritmo específico dados como parâmetros.

SubtleCrypto.importKey()

Retorna uma Promise de uma CryptoKey correspondente ao formato, o algoritmo, a informação da key bruta, o uso e a extrabilidade dados como parâmetros.

SubtleCrypto.exportKey()

Retorna uma Promise deu uma buffer contendo a key no formato requisitado.

SubtleCrypto.wrapKey()

Retorna uma Promise de uma key envolvida simetricamente para uso (transferência, armazenamento) em ambientes não seguros. O buffer envolvido retornado será no formato dado nos parâmetros, e contém a key envolvida com a key envolvendo e o algoritmo dado.

SubtleCrypto.unwrapKey()

Retorna uma Promise de uma CryptoKey correspondente à key envolvida dada como parâmetro.

Especificações

Specification
Web Cryptography API
# subtlecrypto-interface

Compatibilidade com navegadores

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
SubtleCrypto
decrypt
deriveBits
X25519 algorithm
deriveKey
AES as derivedKeyAlgorithm option value
HKDF as derivedKeyAlgorithm option value
HMAC as derivedKeyAlgorithm option value
PBKDF2 as derivedKeyAlgorithm option value
X25519 algorithm
digest
encrypt
exportKey
Ed25519 algorithm
X25519 algorithm
generateKey
Ed25519 algorithm
X25519 algorithm
importKey
Ed25519 algorithm
X25519 algorithm
Secure context required
sign
Ed25519 algorithm
unwrapKey
verify
Ed25519 algorithm
Available in workers
wrapKey

Legend

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

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Veja também