blob: 9242c9a2473e1aba221b36ababf2ee5c7c7b7944 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
---
title: Web Crypto API
slug: Web/API/Web_Crypto_API
translation_of: Web/API/Web_Crypto_API
---
<p>{{DefaultAPISidebar("Web Crypto API")}}</p>
<p><strong>Web Crypto API</strong> 为脚本提供加密了一套关于密码(学)的接口,以便用于构建需要使用密码的系统。</p>
<div class="warning">
<p><strong>警告:</strong> Web Crypto API 提供了许多底层的密码学原语。它们很容易被误用,并且踩到一些微妙的陷阱。</p>
<p>即使正确地使用了这些基础的密码学函数,密钥管理和整体的安全系统设计也是非常困难的,这些通常都是属于安全专家的领域。</p>
<p>安全系统设计和实现过程中出现的错误可以使得整个系统的安全性不复存在。</p>
<p><strong>如果你不确定你知道自己在做什么,那么你可能不应该使用这些 API。</strong></p>
</div>
<h2 id="接口">接口</h2>
<p>有些浏览器实现了叫做 {{domxref("Crypto")}} 的接口,但是缺乏良好的定义,或在密码学上是不健全的。为了避免混乱,这个接口的方法和属性已经被实现 Web Crypto API 的浏览器所移除,并且所有的 Web Crypto API 方法都可以在新的接口中使用: {{domxref("SubtleCrypto")}}。{{domxref("Crypto.subtle")}} 属性可以获取到一个实现了新接口的对象。</p>
<h2 id="规范">规范</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName("Web Crypto API")}}</td>
<td>{{Spec2("Web Crypto API")}}</td>
<td>Initial definition</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p>{{Compat("api.Crypto")}}</p>
<div> </div>
|