概述WebCrypto 的 `SubtleCrypto` 支持现代加密算法。浏览器端常用组合为 AES-GCM + PBKDF2。需注意 GCM 的 `nonce/IV` 唯一性与认证加密优势,以及派生参数(盐/迭代)与兼容性细节。AES-GCM 注意事项使用认证加密(AEAD):GCM 包含完整性校验,能检测密文篡改,优于 CBC/CTR 默认模式[参考1,4]。`nonce/IV` 唯一性:在不同消息中不得重复,否则可能泄露密钥相关信息;长度与参数需符合规范(NIST SP800-38D)[参考1]。明文长度上限与参数校验:超出长度或参数不合法会抛错;遵循实现限制与规范[参考1]。PBKDF2 派生建议从密码派生密钥需设置合理的 `salt` 与 `iterations`(例如数千到数万迭代),避免暴力破解;哈希函数推荐 SHA-256/512,并保持浏览器与 Node 环境一致[参考3,2,4]。不同平台实现差异与坑位:部分 polyfill 与库在算法名大小写与参数校验上存在问题,需统一并验证派生结果[参考2,3]。参考与验证[参考1]MDN 中文:`SubtleCrypto.encrypt()` 文档(AES-GCM 的认证与 nonce/计数器要求、NIST 参考):https://developer.mozilla.org/zh-CN/docs/Web/API/SubtleCrypto/encrypt[参考2]技术博客:浏览器/Node 的 AES-GCM 与 PBKDF2 踩坑与兼容性:https://blog.kaciras.com/article/26/aes-crypto-in-node-and-browser[参考3]Node.js 中文:WebCrypto PBKDF2 示例与 AES-GCM 用法:https://nodejs.cn/api/webcrypto.html[参考4]MDN 英文:Web Crypto API 概览与 AES-GCM/PBKDF2 说明:https://mdn.org.cn/en-US/docs/Web/API/Web_Crypto_API关键词校验关键词与 WebCrypto/AES-GCM/PBKDF2 安全一致。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.165827s