2011-03-16 21 views
0

我有一个函数使用AES 256(Java lib)加密文件,然后通过写入文件来删除。 由于某些原因,它不适用于.exe文件。通过删除加密的文件无法执行“访问被拒绝”。我猜测,该文件在加密过程中不会被释放,但似乎无法找到合理的解释,因为它适用于所有其他文件。exe AES AES加密后未发布文件

+1

是使用的exe文件/在您尝试删除时执行? – xelco52

+0

该文件是否是只读的? (我知道这是一个很长的时间,因为Win32可执行文件几乎总是可写的。) –

回答

1

我能想到的两种可能的解释:

  • 文件正在执行,操作系统已锁定,以防止写入从正在运行的进程的干扰。

  • 该文件的访问标志不允许写入;即它是只读的。这不会阻止正常的删除工作,因为删除不一定需要对文件的写入权限。 (当然,它不在UNIX/Linux上......删除被视为父目录上的操作,并且基于目录的访问标记被允许/拒绝)。