在我的情况下,我有许多文件将存储在服务器上。这些文件中的每一个都是由我正在编写的 C# 应用程序创建的。
背景: 对于这个应用程序,加密所需的时间并不重要,文件往往很小,而且我们有大量的 CPU 周期可用(客户端是唯一加密或解密数据的计算机)。
每个文件都不相关,我需要保护内容不被系统管理员或任何持有硬盘的人窥探(假设是坏人)
我的理解是 RijndaelAlg 是这种操作的可靠算法?假设这是正确的信息如何正确使用 RijndaelAlg.CreateEncryptor 函数?
我想要的可用性是让我的用户输入密码,假设密码是一个好的密码。
我的问题是
如何最好地将用户输入的字符串(C#'字符串)转换为字节 []?我假设我应该散列来解决每个其他字符都有 0 的问题?进行这种转换的最佳方法是什么?
我用什么做静脉输液?我的理解是这是一个应该填充的值(即使 MSDN 说可以传递“null”)。这个值我用什么?请记住我的情况,我有一堆需要独立解密的独立文件。
如果 IV 是众所周知的,这是一个问题吗?(我可以使用文件名的哈希,因为它是唯一值)
有没有比 RijndaelAlg 更好的算法来使用相同的密码加密许多独立文件?