【问题标题】:How to encrypt file name on upload and decrypt on download?如何在上传时加密文件名并在下载时解密?
【发布时间】:2016-08-29 14:55:38
【问题描述】:

制作了一个 ASP.NET Web 应用程序,它使用文件上传控制接收文件,然后在上传时加密文件名。

但是当我将用户重定向到 file_address(以便该用户可以下载文件)时,我不知道现在如何解密文件名?因为文件(例如 .docx 文件)没有代码。

所以当用户下载文件时,他/她会收到一个名称加密的文件!

服务器中的所有文件都有一个加密名称而不是它们的原始名称我想知道的是当用户下载文件时如何为文件提供原始名称

【问题讨论】:

  • 加密只加密名称而不加密扩展名,反之亦然

标签: c# asp.net encryption


【解决方案1】:

您不能为用户提供文件的直接链接 - 而是首先解密文件的页面,然后写入适当的响应标头并将解密的文件作为响应发送。

喜欢getFile.aspx?encryptedFileName=abcxyz。在Init 中,getfile.aspx 加载加密文件,对其进行解密,然后为文件写入适当的响应头,将 MIME 类型更改为文件所需的任何内容,并发送解密文件而不是网页。

以下是如何使用 ZIP 文件执行此操作的示例。如果您在查看此内容后需要更多帮助,请告诉我。 How do I generate and send a .zip file to a user in C# ASP.NET?

【讨论】:

  • 等等,是用这种方式重命名服务器上的文件还是直接下载解密后的文件?
  • 它也可以这样做,但它不会以这种方式固有地重命名服务器上的文件 - 您必须将其添加为另一个步骤。就像 File(@"c:\encryptedfiles\abcdxyz").SendToClientAs("TheFileYouSaved.xlsx");
猜你喜欢
  • 2019-09-28
  • 1970-01-01
  • 2016-04-10
  • 2013-09-06
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 2015-11-26
相关资源
最近更新 更多