在C#中打开受密码保护的文件而不删除密码保护

时间:2015-02-17 09:51:12

标签: c# pdf password-protection

美好的一天,我正在开展一个关于通过局域网查看PDF文件的项目,遗憾的是,我遇到了在服务器中安装了一个不安全的pdf文件或受到保护并且每次都让用户输入密码的困境。 / p>

是否可以在Filestream(pathfile,FileMode.Open)运行之前以及何时"下载"它,该文件仍然有密码必填字段?我知道如何使用itextsharp创建副本,当您在浏览器中下载文件时,该文件不再需要密码。

提前致谢并快乐编码!

1 个答案:

答案 0 :(得分:0)

如果您希望他们能够在不输入密码的情况下打开文件,那么这与未加密的安全级别相同。如果它是加密的,你需要在每次打开时解密它(没有办法解决)。

以这种方式思考,文件在您的服务器上加密,他们下载并输入密码,解密并打开它。如果它在浏览器中,加密文件仍然会下载并存储在临时文件夹中并在浏览器中打开。如果您存储文件的esay打开密码。该文件将以纯文本形式使用它,这意味着它与pdf一起存储在机器上 - >也不安全。

有一种可能的解决方案可用,但不安全。您可以查看PDF.js它是js中的pdf渲染器。它支持一些解密(可能不是全部) 然后你可以用与网站登录类似的方式存储密码,至少你可以劫持密码控制并在没有提示的情况下为它们解密。 (它们实际上是以纯文本形式存储密码,因此您可以获得通知,大多数(如果不是所有的浏览器密码都可以轻易被盗)。