配置文件密码编码器

为 JSON、YAML、TOML、XML、Java .properties、INI、URL 连接字符串和 SQL 字面量正确转义密码,使其读回时保持不变。

把结果粘贴为配置项的值部分。YAML 尽量使用单引号,TOML 尽量使用字面量字符串,URL 形式会对 A–Z a–z 0–9 - . _ ~ 以外的每个字节做百分号编码,SQL 会把单引号写两遍(标准 SQL;开启反斜杠转义的 MySQL 还需要把 \ 写两遍)。

完全在浏览器中运行,您的数据不会被上传。

什么是 配置文件密码编码器?

粘贴一个密码,即可同时得到它针对八种配置格式的正确转义结果:JSON、YAML、TOML、XML、Java .properties、INI、URL/连接字符串和 SQL 字符串字面量。每种输出解析回来都恰好是原始值。

如何使用 配置文件密码编码器

  1. 在密码栏中输入密码。
  2. 在列表中找到你需要的格式。
  3. 用对应的复制按钮复制转义后的值。
  4. 把它粘贴为配置中的值部分。

示例

输入
p@ss'w"rd$1
输出
JSON "p@ss'w\"rd$1"
YAML 'p@ss''w"rd$1'
TOML "p@ss'w\"rd$1"
XML p@ss'w"rd$1
URL p%40ss%27w%22rd%241
SQL 'p@ss''w"rd$1'

同一个密码在各种格式中的写法各不相同。

何时使用 配置文件密码编码器

只要需要手动把机密放入配置文件或连接字符串,就可以使用。对于生产环境的机密,请优先使用机密管理器或环境变量。

配置文件密码编码器 的工作原理

JSON 使用 JSON.stringify。YAML 使用单引号标量(' 写作 ''),除非控制字符要求使用双引号标量。TOML 尽可能使用字面量 'string',否则使用带 \" \\ 和 \uXXXX 转义的基本字符串。XML 把 & < > " ' 以及制表符/换行转义为字符引用。.properties 转义 \、=、:、#、!、开头的空格,并把非 ASCII 字符转为 \uXXXX。URL 的 userinfo 对除 A–Z a–z 0–9 - . _ ~ 之外的每个字节做百分号编码。SQL 把单引号加倍。INI 没有标准的转义方式,所以含有 " 或换行的值会被报告为不安全。

常见用例

  • 把含 @ 和 : 的密码放进 PostgreSQL 或 MongoDB 连接 URL
  • 把机密添加到 YAML 格式的 Kubernetes 或 Ansible 文件中
  • 在 Spring 的 application.properties 文件中转义密码
  • 通过 SQL 语句插入测试用户

常见问题

为什么连接字符串中的密码必须做 URL 编码?

@、:、/ 和 # 这类字符在 URL 中有特殊含义;未编码的 @ 会让解析器把密码的一部分当作主机。

SQL 字面量能防止注入吗?

它是正确的标准 SQL 转义,但在应用程序代码中请始终优先使用参数化查询。

为什么某些值在 INI 中被标记为不安全?

INI 没有转义双引号或换行的标准方式,各解析器的处理也不同,所以工具选择拒绝而不是猜测。

探索更多分类