在NTFS上查看encryption文件的密文(EFS)

所以我正在做一些数据encryption的testing(我为了完成这个任务,我们只打算使用Windows环境),我可以使用Windows内置的“cipher.exe “工具就好,我们需要做的。

我创build了一个小的.txt文件(我的纯文本),并使用“cipher / e PlainText.txt”对其进行了encryption,该文件没有错误。 不过,我也希望能够查看密文。 怎么会这样做? 我尝试login作为一个用户没有正确的访问权限,而不是看到密文,只是空白说“拒绝访问”。

谢谢你的任何想法。

打开加密文件以读取其原始加密内容(例如备份/恢复应用程序)的方式是使用:

  • OpenEncryptedFileRaw
  • ReadEncryptedFileRaw
  • WriteEncryptedFileRaw
  • CloseEncryptedFileRaw

API函数。

用假设的混合语言即时编写代码:

 void ExportEncryptedFileToStream(String filename, Stream targetStream) { Pointer context; res = OpenEncryptedFileRaw("C:\Users\Ian\wallet.dat", 0, ref context); if (res <> ERROR_SUCCESS) RaiseWin32Error(res); try { res = ReadEncryptedFileRaw(exportCallback, null, context); if (res != ERROR_SUCCESS) RaiseWin32Error(res); } finally { CloseEncryptedFileRaw(context) } } function ExportCallback(pbData: PBYTE, pvCallbackContext: PVOID, ulLength: ULONG): DWORD { Stream targetStream = Stream(pvCallbackContext); try { targetStream.Write(pbData, ulLength); } catch (Exception e) { return ERROR_WRITE_FAULT; } return ERROR_SUCCESS; } 

注意 :任何代码发布到公共领域。 不需要归属