使用 File.Encrypt 加密文件,然后将其解密到内存流

2023-11-24

我需要实现一个简单的文件加密,然后在需要时将其解密到内存流。 最简单的方法似乎是使用 File.Encrypt 来做到这一点,但是是否可以将文件解密到内存流,而不是在将文件读取到内存流之前解密文件,从而将其暴露一段时间?

如果 File.Encrypt 不是这种情况的最佳方法,您会推荐什么?


File.Encrypt是一项操作系统功能,但听起来您确实想控制加密的完成方式。

http://msdn.microsoft.com/en-us/library/system.io.file.encrypt.aspx

// This is where the data will be written do.
MemoryStream dataStream = new MemoryStream();

// The encryption vectors
byte[] key = {145,12,32,245,98,132,98,214,6,77,131,44,221,3,9,50};
byte[] iv  = {15,122,132,5,93,198,44,31,9,39,241,49,250,188,80,7};

// Build the encryption mathematician
using (TripleDESCryptoServiceProvider encryption = new TripleDESCryptoServiceProvider())
using (ICryptoTransform transform = encryption.CreateEncryptor(key, iv))
using (Stream encryptedOutputStream = new CryptoStream(dataStream, transform, CryptoStreamMode.Write))
using (StreamWriter writer = new StreamWriter(encryptedOutputStream))
{
    // In this block, you do your writing, and it will automatically be encrypted
    writer.Write("This is the encrypted output data I want to write");
}

加密不适合胆小的人。但请预先警告,在尝试此操作之前,您确实应该对常规 IO 和数据流有强烈的了解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 File.Encrypt 加密文件,然后将其解密到内存流 的相关文章

  • HttpResponseMessage 的内容为 JSON

    我有一个 ASP NET MVC WEB API 由于多种原因 由于没有授权而重定向 我不能只使用一个简单的对象并在我的控制器方法中返回它 因此我需要 HttpResponseMessage 类来允许我重定向 目前我正在这样做 var re
  • 如何在C编程中获取当前时间(以毫秒为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 ANSI C 测量以毫秒为单位的时间 https stackoverflow com questions 361363 how to measure time in milliseconds
  • ZedGraph 缩放和调整大小

    当我绘制图形 放大和缩小并重新绘制图形时 图形的位置不会改变 我想要做的是 每当重新绘制数据时 视图都会更改以查看所有图形数据 如果您在重绘之前放大或缩小 这似乎会被禁用 Thanks 设置属性 IsZoomOnMouseCenter对于控
  • 对相当大的整数的大集合的操作的快速实现

    描述 我实现了以下类 LabSetInt64 参见下面的代码 这里的目标是尽可能快地操作大量大整数 最多 10M 的值 我的主要要求集中在 至关重要 尽快获取集合的大小 基数 重要 能够非常快速地迭代一组集合 所以 从下面的实现开始 我还有
  • 解密Javascript源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经编写了一段 JavaScrip
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • “volatile void function( ... )” 做了什么?

    我见过从语法角度来看 C 函数中 volatile 关键字有多少种用法 https stackoverflow com questions 7643528 how many usage does volatile keyword have
  • 使用 MapViewOfFile 有什么限制吗?

    我正在尝试将内存映射文件用作 hFile CreateFile State Path GENERIC READ FILE SHARE READ FILE SHARE WRITE 0 OPEN EXISTING FILE FLAG SEQUE
  • 最小对的总和

    Given 2N点 in a 2D plane 你必须将它们分组为N pairs使得所有对的点之间的距离的总和是最小可能值 所需的输出只是总和 换句话说 如果a1 a2 an分别是第一对 第二对 和第 n 对点之间的距离 则 a1 a2 a
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 使用 Visual Studio 复制文件?

    我想创建一个 Visual Studio 我正在使用 VSTS 2008 项目 它只执行文件复制工作 更详细地说 我将向该项目添加一些文件 并将该项目复制文件 包含在该项目中 到某个目标位置我构建该项目 有什么想法如何在 VSTS 中做到这
  • 表单.位置不起作用

    我之前问过这个问题 以为我已经解决了 但它仍然不起作用 Form Show 稍微移动表单位置 https stackoverflow com questions 1214014 form show moves form position s
  • C语言中如何将整数转换为字符? [复制]

    这个问题在这里已经有答案了 C语言中如何将整数转换为字符 C 中的字符已经是数字 字符的 ASCII 代码 无需转换 如果要将数字转换为相应的字符 只需添加 0 即可 c i 0 0 是 ASCii 表中的一个字符
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • C# 编译器编译 .txt .obj .java 文件

    using System class Program public static void Main Console WriteLine Hello World Console ReadLine 我将文件另存为1 java 2 obj an
  • 用于加密的 Webauthn

    我们有一个 PWA 项目 我们想要实现客户端加密 我们希望将 Webauthn 用作与密码结合的第二因素 在后台我们使用随机生成的密钥来加密 解密数据库 该密钥与密码对称加密存储在服务器上 然而 我正在努力寻找一种使用 webauthn 向
  • C# 记录类型:记录子类之间的相等比较

    给定父记录类型 public record Foo string Value 和两个记录子类Bar and Bee我想知道是否可以实施Equals在基类中 因此 Foo Bar 或 Bee 的实例都被考虑equal基于Value 两者都与E
  • 在 C++ 中将大型数据向量写入/读取到二进制文件

    我有一个 C 程序 它通过将 ascii 文件中的网格人口数据读取到大型 8640x3432 元素双精度向量中来计算给定半径内的人口 将 ascii 数据读入向量大约需要 30 秒 循环每列和每行 而程序的其余部分只需要几秒钟 我被要求通过
  • 即使对于新上下文,OnModelCreating 也仅调用一次

    我有多个相同但内容不同的 SQL Server 表 在编写代码优先 EF6 程序时 我尝试为每个程序重用相同的数据库上下文 并将表名称传递给上下文构造函数 然而 虽然每次都会调用构造函数 但尽管每次都是从 new 创建数据库上下文 但 On
  • “保留供任何使用”是什么意思?

    注意 这是一个c questions tagged c问题 虽然我补充说c questions tagged c 2b 2b如果某些 C 专家可以提供 C 使用与 C 不同的措辞的基本原理或历史原因 在 C 标准库规范中 我们有这个规范文本

随机推荐

  • 使用反射获取字段值

    我无法获取字段值 我想做的是在运行时获取对象 请让我知道我哪里出错了 测试类 import java lang reflect Field public class Test public static void main String a
  • angular2 和 window.URL.createObjectURL

    我使用 window URL createObjectURL 创建 blob http 链接 用于预览 img 标记中的选定图像 img src itemPhoto 是在组件中定义的字段 并在选择图像文件时进行分配 selectPhoto
  • 使用 json4s 解析 JSON 时引发不可序列化异常

    我在尝试在 Spark 作业中解析 json 时遇到了问题 我在用着spark 1 1 0 json4s 以及Cassandra Spark Connector 抛出的异常是 java io NotSerializableException
  • 在哪里可以找到 std::string 的实现

    我正在寻找 C 字符串类的代码 它是在哪个标头中实现的 没有单一的实现std string 但是您可以在中找到您的特定实现
  • AS3:使用动作脚本设置 DisplayObject 的注册点?

    如何通过动作脚本在 Sprite 或 Shape 上设置注册点 我知道使用 Flash 这很简单 但我需要纯粹在动作脚本中完成 Flash Player API 不会公开这一点 我相信这是因为 Flash 在创建 SWF 时实际上会将注册点
  • 执行从 Rust/Python 源代码生成的 LLVM IR 代码

    当我从 C 生成 LLVM IR 代码时 我可以使用控制台命令clang emit llvm S test cpp获取 test ll 文件 这是我想要的 LLVM IR 要获取可执行文件 请执行以下步骤 llvm as test ll g
  • Android - 如何将数据从活动传递到片段? [复制]

    这个问题在这里已经有答案了 我需要将数据从活动传递到片段 我知道我可以使用bundle 但是一旦传递数据 我就无法在不再次调用和创建片段的情况下发送数据 在我的活动中 某些事情可能会发生变化 我需要通知我的片段这些更改 而无需重新创建片段
  • Chrome 径向 CSS 渐变平滑度

    我在用着chrome 18 0 1025 162我正在尝试做径向渐变 webkit radial gradient circle rgba 100 100 100 0 2 rgba 0 0 0 0 9 问题是渐变是非常像素化的 颜色和 Al
  • 如何仅在 BigQuery 中查询流缓冲区中的数据?

    我们在 BigQuery 中有一个按天分区的表 该表通过流式插入进行更新 The doc表示 当流式传输到分区表时 流式缓冲区中的数据的 PARTITIONTIME 伪列具有 NULL 值 但如果我查询select count from t
  • Oracle 使用 SELECT...FOR UPDATE OF 锁定

    我从表 FOO 和 BAR 中进行选择 我想锁定正在返回的 FOO 记录 但不希望锁定 BAR 记录 cursor c foobar is select foo bar from foo bar where foo id bar foo i
  • 如何从 gnome shell 扩展调用命令行程序?

    我编写了一个简单的 shell 脚本来完成一项常见任务 并且我希望能够在单击按钮时运行它 我已经使用 gnome shell extension tool 创建了 Hello World 示例 但现在我需要知道如何让它在单击时运行任意命令
  • 将 Ajax.BeginForm 与 A​​SP.NET MVC 3 Razor 结合使用

    有使用教程或代码示例吗Ajax BeginForm在 Asp net MVC 3 中 哪里存在不显眼的验证和 Ajax 对于 MVC 3 来说 这是一个难以捉摸的主题 我似乎无法让我的表单正常工作 它将执行 Ajax 提交 但忽略验证错误
  • INSERT 语句与 FOREIGN KEY 约束冲突错误

    您好 我收到此错误 INSERT 语句与 FOREIGN KEY 约束 FK dbo AspNetUsers dbo Contacts ContactID 冲突 冲突发生在数据库 aspnet COGMakati 2014011901555
  • TextView 超链接不起作用?

    Why TextView超链接不起作用 使用超链接作为自定义内部dialog box 超链接未出现 我哪里弄错了 怎么解决呢 给我指导 XML 代码是
  • 如何在一个图中绘制“多个箱形图”?

    我有以下格式的数据 repetition packet route energy level 1 1 1 10 0 1 1 2 12 3 1 1 3 13 8 1 2 1 9 2 1 2 2 10 1 1 2 3 11 2 50 99 3
  • 有人对“阅读时间算法”有任何线索吗?

    只是好奇如何计算某人阅读包含 x 个字符和 或 y 个单词的段落所需的时间长度 对此有什么想法吗 假设它有 938 个单词 或者如果你使用 JavaScript 你可以这样做 const blogPost article or blog p
  • 解决后承诺值未放入模板

    我对 javascript 和 Promise 相当陌生 所以我可能无法理解所有基本概念 但我正在尝试 我的模型中有一个函数可以检查友谊状态 friendShipStatus function var self this return Em
  • 如何按字母顺序排序,同时忽略大小写?

    我有这个代码 但仅适用于小写字母 我希望它对列表进行排序 同时忽略大写字母 package sortarray com import java util ArrayList import java util List import andr
  • 如何使用 AngularJS $resource 自定义操作?

    我一直在一些存储库中使用自定义操作 到目前为止 我只需要指定 url 和方法 例如 updatePassword url ENV NITRO PROJECT REST URL admins adminId password method P
  • 使用 File.Encrypt 加密文件,然后将其解密到内存流

    我需要实现一个简单的文件加密 然后在需要时将其解密到内存流 最简单的方法似乎是使用 File Encrypt 来做到这一点 但是是否可以将文件解密到内存流 而不是在将文件读取到内存流之前解密文件 从而将其暴露一段时间 如果 File Enc