2

在 Windows 中,某些字符不允许用作文件夹名称。我正在尝试实现一个可以加密和重命名文件夹的简单程序。我相信我可以使用旧的传统密码学形式来实现这一点。还有其他建议吗?还有其他官方方法吗?

编辑:

我也考虑过使用散列,但考虑到我也希望能够解密,这没有多大意义。

4

1 回答 1

3

如果您需要一个对文件/文件夹名称有效的随机名称,请使用Path.GetRandomFilename()

GetRandomFileName 方法返回可用作文件夹名称或文件名的加密强随机字符串。

该函数返回一个字符串,该字符串包含 8 个随机字母数字字符、一个句点,然后是 3 个随机字母数字字符。

编辑:如果你想要加密文件名,而不是生成随机文件名,你可以做一些选择。

  1. 仍然使用随机文件名并将原始名称作为一些加密头信息的一部分存储在文件本身内部(只需加密名称的长度,名称,然后是原始文件的所有字节,当您解密时读出原始文件名称并在您恢复文件时使用它。
  2. 加密文件本身的名称,然后Convert.ToBase64在加密的字节数组上使用ToBase64,其字符串中的所有字符输出都可以在文件名中使用。
于 2013-08-08T20:16:18.130 回答