【发布时间】:2011-01-03 11:13:35
【问题描述】:
几年前,当我第一次接触到 ASP.net 和 .NET Framework 时,我构建了一个非常简单的在线文件存储系统。 该系统使用 Rijndael 加密将加密的文件存储在服务器的硬盘上,并使用 HttpHandler 将这些文件解密并发送给客户端。
作为我第一个使用 ASP.net 和数据库的项目之一,对整个事情的工作原理不太了解(以及落入same trap described by Jeff Atwood on this subject),我决定将新生成的密钥和 IV 与每个文件一起存储进入数据库。
为了让事情更清楚一点,加密只是为了保护文件不被直接访问服务器,并且密钥不是由用户输入的密码生成的。
我的问题是,假设我不想为所有文件保留一个密钥,我应该如何存储加密密钥以获得最佳安全性?什么被认为是最佳实践? (即:在不同的服务器上,在纯文本文件上,加密)。
另外,这种加密算法中使用的初始化向量是什么?它应该在系统中保持不变吗?
【问题讨论】:
标签: asp.net encryption