反馈

数据库密码生成

1. 密码

强度
随机字符 / 短语都用 crypto.getRandomValues 生成。

2. 数据库凭据 / Hash

全部在浏览器本地计算,密码与哈希不发往任何服务器。生产环境优先用服务端 ALTER USER / ALTER ROLE 让数据库自己按当前认证插件存储;输出里带明文的那条 SQL 请注意别记进日志。

📖 工具说明

1. 这是什么

两步:① 生成一个强密码(或输入已有密码);② 算出对应数据库的存储凭据 / hash 和一条改密码的 SQL。支持 MySQL / MariaDB / PostgreSQL。


2. 生成密码


3. 生成凭据

数据库 输出
MySQL mysql_native_password hash(*大写HEX(SHA1(SHA1(密码)))),加两条 ALTER USER SQL(一条让服务端存、一条直接写 hash)。MySQL 8+ 默认 caching_sha2_password,写 native hash 要显式指定插件。
MariaDB 同上;MariaDB 默认就是 mysql_native_password。
PostgreSQL SCRAM-SHA-256 verifier(SCRAM-SHA-256$迭代:盐$storedKey:serverKey,可直接写 pg_authid.rolpassword),加两条 ALTER ROLE SQL。迭代次数、salt 字节数可调(默认 4096 / 16)。

caching_sha2_password / MySQL 8 的 SHA-256 认证 hash 不在这里生成——那个要服务端 nonce,只能让服务器自己算。


4. 说明


相关:随机密码生成 · Htpasswd 生成 · bcrypt 加密校验 · PBKDF2 密钥派生 · HMAC 计算。

输出里带明文密码的 SQL 别记进 shell 历史或数据库日志。

📖 相关推荐