【问题标题】:How is a password to decrypt a file verified?如何验证解密文件的密码?
【发布时间】:2019-01-20 16:47:19
【问题描述】:

假设我有一个受密码保护的 PDF 文件 mypdf.pdf,密码为 '1234'。当我在PDF阅读器中输入密码解密时,软件怎么知道我输入了正确的密码?

我的理解是,当我输入密码时,会使用输入的密码作为密钥对 PDF 文件中的所有字节执行操作。因此,即使我输入了错误密码,数据仍在转换中,密钥不正确。

我的问题是软件如何区分输入正确密码产生的数据和密码错误产生的数据。

【问题讨论】:

    标签: security pdf encryption hash passwords


    【解决方案1】:

    除非验证算法通过,否则 PDF 文档的内容不会被解密。

    这些算法在例如PDF 32000-1:2008 - 7.6.3.4 密码算法中定义。

    简单来说:创建加密 PDF 时,用户和所有者密码用于计算保存在 PDF 文件本身中的静态值(O、U、OE 和 UE)。身份验证是一个“简单”的过程,通过给定的密码重新创建这些值,并将它们与 PDF 文件中的静态值进行比较。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 2012-01-27
      • 2012-04-18
      • 1970-01-01
      相关资源
      最近更新 更多