为开发与实验生成密钥材料
应用需要随机密码、面向 API 的密钥字符串,有时还需要用于本地 HTTPS 的 TLS 证书。本中心汇总若干生成器,在浏览器中产出这些材料,便于学习、预发夹具与本地工具——不能替代生产环境中的组织级密钥管理(Vault、云 KMS、基于 SSO 的存储)。
在另行决定之前,请将每个生成值视为敏感信息。为一次性容器准备的密码,若被复用到真实账号,仍可能造成损害。请按环境使用独立密钥,并在可能泄露时轮换。
可用 生成随机密码 创建示例凭据,或用 生成自签名证书 构建本地 TLS 密钥对。
子工具及其关系
- 生成随机密码 — 生成面向人的密码,可在易读/可发音与更复杂字符集之间选择。
- 生成 Base64 编码密钥 — 由随机数字构建 Base64 编码样例字符串,供期望不透明 Base64 密钥的配置与测试使用。
- 生成自签名证书 — 创建带 PEM 编码密钥的 RSA 自签名 X.509 证书,用于浏览器中的本地 TLS 实验。
交互式登录与人工输入用密码;系统要在配置字段中放入稠密随机令牌时用 Base64 密钥;本地服务器或 mutual-TLS 实验需要证书与私钥文件时用自签名证书。它们分别解决「把某个秘密或密码学材料粘贴到某处」的不同打包问题。
密码质量(实用视角)
强度来自不可预测性与长度,而不是在短词上点缀一个标点。从足够大的字母表中抽取并具备足够熵的生成器,强于手写模式(如 SeasonYear!)。可发音模式用部分熵换取可记性——适合部分人类账户,对 API 密钥则偏弱。
请将密码存入密码管理器,切勿提交到 git。应用认证后端请用口令 KDF(Argon2、bcrypt、scrypt)做哈希——不要在数据库中以可逆形式存储生成的密码。
Base64 密钥仍是原始密钥
将随机字节编码为 Base64 便于粘贴进 YAML 或 JSON。这不是加密。能读配置的人就能解码该值。请保护文件与部署通道;优先考虑在运行时注入环境变量的密钥管理器,而不是把密钥检入仓库。
若只需高熵令牌且消费方接受十六进制(hex),hex 同样合适——与接收系统约定格式即可。
自签名证书:它们证明什么
自签名证书由自身密钥签名,而非公共 Certificate Authority。浏览器与操作系统信任库不会自动信任它用于公网站点——这是预期行为。自签名材料仍适用于:
- 开发阶段的
localhostHTTPS - 分发 CA 或固定(pin)证书的内部实验服务
- 学习 PEM 结构(
CERTIFICATE、PRIVATE KEY块)
浏览器实验中生成的私钥不应作为长期生产密钥复用。公网站点请使用 ACME/Let’s Encrypt 或组织自有 PKI。生产私钥在策略要求时,应在 HSM 或受控服务器内生成。
证书生成使用浏览器的 Web Crypto API。
运维卫生
- 按环境(
dev、stage、prod)标记密钥,切勿随意把 prod 向下复制。 - 在笔记本丢失、CI 日志泄露或外包合作结束时进行轮换。
- 在平台允许时,优先使用短时凭据与 OAuth/OIDC,而非静态密码。
- 在截图与问题跟踪器中打码密钥。
- 对 TLS,私钥保持不提交;尽量将证书与密钥分开分发。
与其他 Tool Plaza 工具族的关系
限制
浏览器生成器依赖平台的 CSPRNG 与浏览器中可用的 Web Crypto 实现。它们不会审计部署中的密钥蔓延,也不能替代企业签发流程。在客户端显式信任之前,自签名证书会显示信任警告。
小结
密钥中心涵盖密码生成、Base64 形态的随机密钥,以及用于本地与教学的自签名 TLS 证书创建。选择与所需产物匹配的子工具,在材料离开页面后妥善保护私钥材料,并在上线时将生产系统升级到正规密钥管理与公共 PKI。