---
title: Crypto.getRandomValues:安全随机数与密钥材料
keywords:
- getRandomValues
- 安全随机
- 密钥材料
- 种子
- Web Crypto
description: 使用 crypto.getRandomValues 生成加密安全的随机数与密钥材料,避免使用 Math.random 等不安全来源,给出长度与类型建议。
categories:
- 应用软件
- 安全杀毒
---
概述
crypto.getRandomValues 提供加密安全的随机字节,用于令牌、nonce 与密钥材料。应使用 Uint8Array 等类型并控制长度。
用法/示例
const nonce = crypto.getRandomValues(new Uint8Array(12))
const key = crypto.getRandomValues(new Uint8Array(32))
工程建议
- 避免使用
Math.random生成安全值;统一随机来源与封装接口。 - 控制长度与用途,与 SubtleCrypto 的算法参数匹配(如 AES-GCM 12 字节 IV)。
- 对导出与存储进行最小化与保护,避免泄露与复用。
参考与验证
- MDN:
crypto.getRandomValues()— https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues

发表评论 取消回复