概述AES-CTR 适合流式场景,但需确保计数器不重用。本文提供最小加解密示例与注意点。加解密示例async function genKey() { return crypto.subtle.generateKey({ name:'AES-CTR', length:256 }, true, ['encrypt','decrypt']); } function makeCounter() { const iv = crypto.getRandomValues(new Uint8Array(16)); return iv; } async function encryptCTR(key, bytes, counter) { const buf = await crypto.subtle.encrypt({ name:'AES-CTR', counter, length:64 }, key, bytes); return new Uint8Array(buf); } async function decryptCTR(key, bytes, counter) { const buf = await crypto.subtle.decrypt({ name:'AES-CTR', counter, length:64 }, key, bytes); return new Uint8Array(buf); } 安全注意不重用相同 `counter` 与密钥组合;建议每文件/会话生成新的计数器。结合消息认证码(HMAC)或 AEAD 模式进行完整性保护。

发表评论 取消回复