Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 936

明文(Plaintext)

审核人Cybersecurity entrepreneur & security researcher

明文(Plaintext) 是什么?

明文(Plaintext)未加密的可读数据,是加密的输入,也是正确解密后的输出。


明文是信息在应用加密之前、或正确解密之后,人类或机器可读的原始表示形式。在加密协议中,该术语用于区分位于信任边界内部的数据与可安全穿越敌对信道的密文。它也是密码分析的经典维度:已知明文攻击(known-plaintext attack)利用配对的明文/密文对,而选择明文攻击(chosen-plaintext attack)则允许攻击者加密其自行选择的输入,而这正是 IND-CPA 安全性以及随机化/AEAD 模式旨在挫败的威胁。

在应用安全领域,"以明文存储"是严重失误的代名词。2012 年 LinkedIn 数据泄露暴露了 6.5 million 个未加盐(unsalted)的 SHA-1 密码哈希(后来披露实际涉及约 ~117 million 个账户),而 RockYou 在 2009 年的泄露事件更是以彻底明文的形式泄露了 32 million 个密码——两者都成为至今仍被用于破解账户的字典表来源。Adobe 在 2013 年的泄露事件则使问题雪上加霜:它用 ECB 模式的 3DES 和一个共享密钥加密了超过 150+ million 个密码,导致相同的密码产生相同的密文。防御实践:切勿将凭据以明文或可逆密文形式存储;使用带盐的、内存密集型的 KDF(Argon2、bcrypt、scrypt);使用强 AEAD 密码算法(AES-GCM、ChaCha20-Poly1305)对静态数据加密;在传输中强制使用 TLS;并从日志、错误消息、URL 和 Referer 头中删除明文密钥。

flowchart LR
  A[明文<br/>信任边界内] -->|用密钥加密| B[密文]
  B -->|敌对信道| C[密文]
  C -->|用密钥解密| D[恢复的明文]
  A -. 泄露: 日志, 明文存储 .-> E[暴露]
  B -. 弱加密 / 无盐 .-> E

示例

  1. 01

    在 TLS 加密请求之前,JSON 中传输的密码值。

  2. 02

    日志意外地以明文形式打印出信用卡号。

常见问题

明文(Plaintext) 是什么?

未加密的可读数据,是加密的输入,也是正确解密后的输出。 它属于网络安全的 密码学 分类。

明文(Plaintext) 是什么意思?

未加密的可读数据,是加密的输入,也是正确解密后的输出。

如何防御 明文(Plaintext)?

针对 明文(Plaintext) 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语