在我的情况我有一些文件,将储存在服务器上。这些文件是通过创建一个C#应用程序是我写作。

背景: 这个应用程序,所需要的时间进行加密是重要的,这些文件往往很小,我们已经有了大量的CPU周期余(客户只计算机进行加密或解密的数据)。

每个文件都是无关和我需要的内容是保护离窥探的系统管理员或任何人获取一个住的硬盘(假定是一个坏人)

我的理解是RijndaelAlg是一个坚实的算法为这种行动?假设这是信息是正确的如何我正确使用RijndaelAlg.CreateEncryptor功能?

用我想要的是我用户类型中的一个密码,假设的密码是一个很好的密码。

我的问题是

  1. 如何最好地转换用户输入string(C#'string)成一个字节[]?我假设我应该散得到解决该问题的具有0的上每一个其他角色?什么是最好的方式做到这一点的转换?

  2. 我怎么使用的四?这是我理解这是一个值,应该是填充的(即使MSDN说好要通过'null').我怎么使用这种价值?记住我的状况我已经有一堆的独立文件,需要解密的独立。

    什么如果是众所周知的,这是一个问题吗?(我可以使用的散列的文件,因为它是一个独特的价值)

  3. 是否有更好的算法比RijndaelAlg加密许多独立的文件,使用同一个密码?

有帮助吗?

解决方案

Q1。我通常使用的GetBytes()方法UTF8类转换串字阵列。

Encoding.UTF8.GetBytes(myString)

Q2。每次你创建的一个实例,该调用dispose方法并将类,一个是随机产生对于你(无障碍使用IV财产)。你可以随机这再次通过调GenerateIV()方法。

因为你需要这四密的数据,你可以更好地关储存这四的地方,而不是具有一个独特的四每文件。如果你加密的所有文件采用一种静态的四,确保设置的四时正在创建一个新的实例,该调用dispose方法并将类的任何时间解密文件。

Q3。该调用dispose方法并将/AES是最安全的算法那里,我不会用任何东西els.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top