MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

SubtleCrypto 接口表示一组加密原语。它通过窗口上下文提供可用的Crypto.subtle 属性(通过Window.crypto)。

规范: "开发者使用 SubtleCrypto 接口时需要意识到提供的算法的设计和实现的安全性问题。原始的算法被提供以便开发人员最大化灵活地实现各种协议和应用,这些协议或者应用有必要使用原始的算法独特的方式表示组成和安全性参数。"

属性

此接口既不继承也不实现任何属性。

方法

此接口不继承任何方法。

SubtleCrypto.encrypt()
以算法、密钥、明文为参数,返回一个包含加密数据的 Promise对象。
SubtleCrypto.decrypt()
以算法、密钥、明文为参数,返回一个包含解密数据的 Promise对象。
SubtleCrypto.sign()
以文本、算法和密码为参数,返回一个包含签名的 Promise
SubtleCrypto.verify()
以签名、与之匹配的文本、算法、密码为参数,验证签名的真实性,返回一个包含布尔型的 {jsxref("Promise")}} 对象。
SubtleCrypto.digest()
以生成摘要的算法和文本作为参数,返回一个包含数据摘要的 Promise 对象。
SubtleCrypto.generateKey()
以给出的用法和返可提取性作为参数,返回一个包含用于对称算法的新生成的 CryptoKey 或者包含两个新的生成的密钥用于非对称加密的 CryptoKeyPair 的 Promise 对象。
SubtleCrypto.deriveKey()
以从 master key 派生出来的密钥和特定的算法作为参数,返回一个包含新生成的 CryptoKey  的 Promise对象。
SubtleCrypto.deriveBits()
以从 master key 派生出来的密钥和特定的算法作为参数,返回一个包含新生成的伪随机字节的 Buffer的 Promise 对象。
SubtleCrypto.importKey()
以格式、算法、原始密钥数据、用途和可提取性作为参数,返回一个包含 CryptoKey 的 Promise 对象。
SubtleCrypto.exportKey()
返回一个包含所请求格式的密钥的 Buffer 的 Promise 对象。
SubtleCrypto.wrapKey()
返回一个包含在不安全环境中使用(传输,存储)的包裹对称密钥的 Promise 对象。返回的被包裹的缓冲数据是按照参数中给出的格式的,包含使用给定算法的给予包装密钥包裹的密钥。
SubtleCrypto.unwrapKey()
返回一个包含对应于参数中给出的包裹密钥的 CryptoKeyPromise 对象。

规范

Specification Status Comment
Web Cryptography API
SubtleCrypto
Recommendation Initial definition.

浏览器支持

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 37 34 (34) 未实现 ? 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 37 37 34.0 (34) 未实现 ? 未实现

另见

文档标签和贡献者

 此页面的贡献者: micblo, Taoja, looch
 最后编辑者: micblo,