首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.net动态解密大文件

.net动态解密大文件
EN

Stack Overflow用户
提问于 2011-09-09 16:41:44
回答 1查看 885关注 0票数 2

我需要加密和存储上传的文件。

然后,这些文件将通过令牌/滴答机制被解密和下载。

重要的是,这些文件不能未加密,系统管理员不能随意访问它们。

我的问题是文件可能非常大,10 is大约是预期的最大文件大小。

加密过程可以根据需要花费多长时间。

然而,我希望加密过程在飞行中工作-所以没有10G的解密文件,只有它在内存中的一大块(我没有10G的ram用于此)。

如何实现这一点有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-09 16:46:53

大多数加密都是基于流的,所以这根本不是问题-只需将FileStream作为CryptoStream的输入运行,并将其用作您正在使用的数据的源;这可以是正在进行的处理,也可以是目标FileStream (在这种情况下,只要cryptoStream.CopyTo(outputFileStream)就足够了)。

如果我借用example from MSDN并对其进行编辑以显示编写二进制代码:

代码语言:javascript
运行
复制
using(FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate))
{
    // Create a new Rijndael object.
    Rijndael RijndaelAlg = Rijndael.Create();

    // Create a CryptoStream using the FileStream 
    // and the passed key and initialization vector (IV).
    using(CryptoStream cStream = new CryptoStream(fStream,
        RijndaelAlg.CreateDecryptor(Key, IV),
        CryptoStreamMode.Read))
    using(FileStream destination = File.Create(destinationPath))
    {
        cStream.CopyTo(destination);
    }
}

然而,cStream可用于读取任何 Stream-based。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7359128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档