Web 加密

- REC

用于在 Web 应用程序中执行基本加密操作的 JavaScript API

Chrome

  1. 4 - 36: 不支持(但有 polyfill 可用)
  2. 37 - 123: 支持
  3. 124: 支持
  4. 125 - 127: 支持

Edge

  1. 12 - 18: 支持
  2. 79 - 123: 支持
  3. 124: 支持

Safari

  1. 3.1 - 7: 不支持(但有 polyfill 可用)
  2. 7.1 - 10.1: 支持
  3. 11 - 17.3: 支持
  4. 17.4: 支持
  5. 17.5 - TP: 支持

Firefox

  1. 2 - 31: 不支持(但有 polyfill 可用)
  2. 32 - 33: 默认情况下禁用
  3. 34 - 124: 支持
  4. 125: 支持
  5. 126 - 128: 支持

Opera

  1. 9 - 23: 不支持(但有 polyfill 可用)
  2. 24 - 108: 支持
  3. 109: 支持

IE

  1. 5.5: 不支持
  2. 6 - 10: 不支持(但有 polyfill 可用)
  3. 11: 部分支持

Chrome for Android

  1. 124: 支持

Safari on iOS

  1. 3.2 - 7.1: 不支持(但有 polyfill 可用)
  2. 8 - 10.3: 支持
  3. 11 - 17.3: 支持
  4. 17.4: 支持
  5. 17.5: 支持

Samsung Internet

  1. 4 - 23: 支持
  2. 24: 支持

Opera Mini

  1. 所有: 不支持

Opera Mobile

  1. 10 - 12.1: 不支持(但有 polyfill 可用)
  2. 80: 支持

UC 浏览器(Android 版)

  1. 15.5: 支持

Android 浏览器

  1. 2.1 - 4.4.4: 不支持(但有 polyfill 可用)
  2. 124: 支持

Firefox for Android

  1. 125: 支持

QQ 浏览器

  1. 14.9: 支持

百度浏览器

  1. 13.52: 支持

KaiOS 浏览器

  1. 2.5: 支持
  2. 3: 支持

许多浏览器支持 [crypto.getRandomValues()](#feat=getrandomvalues) 方法,但 crypto.subtle 下不支持实际的加密功能。

资源
跨浏览器加密库
MDN Web 文档 - Web Crypto API
各种算法/方法的测试套件
PKI.js - 另一个用于公钥基础设施应用程序的加密库
微软研究院 JavaScript 加密库
Netflix 的 polyfill,部分支持
IE11 和 Safari 的 Web Cryptography API shim - 一组针对前缀 API 实现的错误修复和解决方法
Web Crypto API 的历史和现状