如何使用加密生成有效的文件夹名称

时间:2013-08-08 20:08:37

标签: c# encryption cryptography

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

修改

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

1 个答案:

答案 0 :(得分:3)

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

  

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

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

编辑:如果你想要的是加密文件名,不生成随机文件名,你可以做几个选项。

  1. 仍然使用随机文件名并将原始名称存储为文件本身内部的一些加密头信息的一部分(只需加密名称的长度,名称,然后是原始文件的所有字节,当您解密时读取删除原始名称,并在还原文件时使用该名称。
  2. 加密文件本身的名称,然后在加密的字节数组上使用Convert.ToBase64,其字符串中的所有字符ToBase64输出都可以在文件名中使用。