如何使用System.Security.Cryptography检测加密文件

时间:2012-02-16 19:36:53

标签: c# encryption

最近我熟悉这个命名空间,我做了一些工作。现在我想检测存储的加密文件。我的软件中有一个属性,它允许用户决定是否应该加密生成的文件。这样,当用户打开他生成的文件时,我应该知道它是否加密或解密并提取真实数据。

3 个答案:

答案 0 :(得分:2)

加密文件的性质是它们没有任何识别标记,除了您在加密后附加的标记。它们只是一个随机看似的字节数组。如果你可以检测到任何模式,那将是一个糟糕的加密。

但是,您可以采取一些方法:

  • 将您加密的文件的文件扩展名更改为您定义的内容:例如MyFile.enc
  • 在文件名的其他位置放置一个标记:Myfile.encrypted.txt
  • 将一些字节预先添加到文件内容本身,足够长的时间以至于不太可能随机出现

答案 1 :(得分:1)

您可以尝试正常读取文件,如果读取的数据不符合您的预期,请尝试解密。

或者,如果需要解密,可以在文件前添加[decrypt]标记。

答案 2 :(得分:0)

我认为您无法“检测”文件是否已加密。这有点会打败目的,不是吗?但您可以尝试解密可疑的加密文件,并验证结果是否符合预期。 (在解密数据中查找特定签名。)

相关问题