SubtleCrypto.encrypt()

SubtleCrypto.encrypt() 方法以算法、密钥、明文为参数返回一个包含加密数据的Promise对象。

语法

var result = crypto.encrypt(algo, key, cleartext);

属性

  • algo 是一个使用加密函数的对象或者DOMString,后者是 {"name": algo}的缩写。支持的值是:
    • {"name": "AES-CBC", iv} iv 是具有16个随机字节的 ArrayBufferArrayBufferView  (这些应该由{domxref("RandomSource.getRandomValues()")}} 生成)。
    • {"name": "AES-CTR", counter, length}
    • {"name": "AES-GCM", iv, additionalData, tagLength} (additionalDatatagLength 是可选的)
    • {"name": "RSA-OAEP", label} (label 是可选的)
  • key 是一个包含签名密钥的 CryptoKey
  • cleartext 是一个包含需要加密的明文 ArrayBuffer 或者 ArrayBufferView 对象。

返回

例外

当遇到以下异常时,promise将会返回一次错误:

  • InvalidAccessError当加密密钥不是所请求的加密算法的密钥时,或者当试图使用未知或不适合加密的算法时。

规范

Specification Status Comment
Web Cryptography API
SubtleCrypto.encrypt()
Recommendation Initial definition.

浏览器支持

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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 (Yes) 37 34.0 (34) 未实现 ? 未实现

另见

文档标签和贡献者

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