2

因此,我正在按照我在学校上的一门课程对数据加密进行一些测试(对于这个作业,我们打算只使用 Windows 环境),并且我能够使用 Windows 内置的“cipher.exe” " 工具非常适合我们需要做的事情。

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

谢谢你的任何想法。

4

1 回答 1

2

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

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

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

于 2014-03-25T15:08:02.443 回答