因此,我正在上学的每门类(class)都对数据加密进行一些测试(对于本次作业,我们仅打算使用Windows环境),并且能够使用Windows内置的“cipher.exe” ”工具正好适合我们需要做的事情。

我制作了一个小的.txt文件(我的纯文本),并使用没有错误的“cipher/e PlainText.txt”对其进行了加密。但是,我也希望能够查看密文。人们将如何去做呢?我尝试以没有适当权限访问文件的用户身份登录,而没有看到密文,而是出现空白,说“访问被拒绝”。

谢谢您的任何想法。

最佳答案

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

  • 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;
    }
    

    关于windows - 在NTFS(EFS)上查看加密文件的密文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18561088/

    10-13 03:20