AesGcmParams
AesGcmParams:
object
使用AES-GCM算法时,Web Crypto API的AesGcmParams字典表示应作为算法参数传入SubtleCrypto.encrypt、SubtleCrypto.decrypt、SubtleCrypto.wrapKey或SubtleCrypto.unwrapKey的对象。有关如何为该参数提供适当值的详细信息,请参阅AES-GCM: NIST SP800-38D中的规范,特别是关于输入数据的第5.2.1.1节。
类型声明
additionalData?
optionaladditionalData:BufferSource
ArrayBuffer、TypedArray或DataView。其中包含未加密但将与加密数据一起用于身份验证的其他数据。如果此处提供了additionalData,则在调用SubtleCrypto.decrypt时必须提供相同的数据:如果提供给SubtleCrypto.decrypt调用的数据与原始数据不匹配,执行解密操作将导致抛出异常。这为您提供了一种无需对相关数据进行加密即可进行身份验证的方法。
additionalData的位长度必须小于2^64 - 1。
additionalData属性为选填,并且在不影响加密操作安全性的情况下可以忽略。
iv
iv:
BufferSource
带有初始化向量的ArrayBuffer、TypedArray或DataView。对于使用给定密钥执行的每项加密操作,这都必须是唯一的。换句话说:切勿重复使用密钥相同的IV。AES-GCM规范建议IV的长度应为96位,并且通常包含来自随机数生成器的位。该规范的第8.2节概述了构建IV的方法。请注意,IV不必保密,只要是唯一的即可:例如,可以将其与加密消息一起以明文形式传输。
name
name:
string
一个字符串。这应被设置为AES-GCM。
tagLength?
optionaltagLength:number
一个数字。这决定了在加密操作中生成的身份验证标签的大小(以位为单位),用于相应解密中的身份验证。
Web Crypto API规范要求它具有以下值之一: 32、64、96、104、112、120或128。另一方面,AES-GCM规范建议值应为96、104、112、120或128,尽管32或64位在某些应用程序中可能也是可以接受的。有关更多指导,请参阅NIST出版物附录C中的“区块密码操作模式建议”。
tagLength为选填;如果未指定,则默认为128。
Last updated: 2025年10月2日

