从此刻开始,我已封闭!概不接客!

  像风一样的男人,像风一样的性格,无拘无束,不拘一格。那么问题来了,当风遇到沙,不一定你是风儿,我是沙儿缠缠绵绵,。也许是漫天黄沙,飞粒走石。如果我们期望擒住这漫天的尘埃,必须有强有力的手臂!那么晒网、撒网、收网!让他老实的封闭起来吧,永远相依偎,阿拉!

读在最前面:

  1、Excel文件加密实现,本文以 Microsoft Office 2007 为案例进行说明。

  2、Microsoft Office 2007  Office 基于 Open XML file(又称 OOXML or OpenXML or MOX ,是一种以XML为基础并以ZIP格式压缩的电子文件规范,支持文件、表格、备忘录、幻灯片等文件格式)

  3、本文可实现C端Excel加密、S端Excel加密(不需要安装任何服务器组件,告别一切烦恼)。

  4、本文加密方式可实现对.docx, .xlsx, .pptx等文件类型的加密。

那么,让我们上酸菜!

1、下载我们的依赖组件

加密组件下载

2、加密!开工!Over!

项目中引入NPOI.POIFS.dll,NPOI.Util.dll,OfficeOpenXmlCrypto.dll ,细节实现代码如下:

using (OfficeCryptoStream stream = OfficeCryptoStream.Open(@"location"))
{
stream.Password = "password";
stream.Save();
}

备注:

   1、代码说明:location:加密文件路径,password:加密密码

      2、加密原理:基于AES128 ,加密秘钥生成方式:SHA1,具体加密技术细节参见MS-OFFCRYPTO

   3、其他加密技术栈: EPPlus class library,OpenXml 2.0 SDK 参见爆炸网类似加密qa

   4、如果在iis上部署,需要启用网站对应应用程序池的32位模式。

   5、参考链接(全是墙,自备VPN):

     (1)、http://www.lyquidity.com/devblog/?p=35

    (2)、https://msdn.microsoft.com/en-us/library/cc313071.aspx

     (3)、https://en.wikipedia.org/wiki/Office_Open_XML

     (4)、https://code.google.com/archive/p/ooxmlcrypto/

by:海豚湾-丰

C#Excel文件加密实现,支持xlsx、docx、pptx(C#\Net\Asp.Net)的更多相关文章

  1. 【转载】WPS通过设置密码的方式对Excel文件加密

    有时候Excel文件中可能包含一些敏感数据,此时希望对Excel文件进行加入密码的形式进行加密保护,在WPS软件和Office Excel软件中都支持对Excel文件进行密码保护,设置了密码保护的Ex ...

  2. 使用NPOI或EPPlus来导出Excel文件实例,可在Excel文件加密

    使用NPOI.dll组件来导出Excel文件,并设置样式,Nuget引用即可. packages\NPOI.2.1.3.1\lib\net20\NPOI.dll #region Excel prote ...

  3. C#仪器数据文件解析-Excel文件(xls、xlsx)

    不少仪器工作站可以将数据导出为Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件. 采集Excel文件相比采集pdf文件更容易.程序更健壮,毕竟Excel中数据有明确的行.列 ...

  4. Python将excel文件从xls转换为xlsx

    本文使用场景:将一个xls格式Excel文件转换为xlsx文件格式.接下来将一步一步演示该操作.你也可以对代码进行修改使其适用于你所需的场景. 安装Python3 首先需要安装Python,我这里安装 ...

  5. Excel文件加密后忘记密码破解方法

    最好使用VBA 工程密码破解方法 新建一个excel文档,然后打开,同时按Alt和F11,进入VBA界面 点击菜单上的插入,模块 在新的窗口粘贴以下代码: Sub crack() Dim i As L ...

  6. java写入excel文件poi

    java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...

  7. NodeJs实现下载Excel文件

    nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...

  8. Java——jxl读取Excel文件

    1.创建文件流,打开EXCEL文件(jxi不支持.xlsx文件,支持.xls) FileInputStream excelFile = new FileInputStream(excelPath); ...

  9. 使用DocumentFormat.OpenXml操作Excel文件.xlsx

    1.开始 DocumentFormat.OpenXml是ms官方给一个操作office三大件新版文件格式(.xlsx,.docx,.pptx)的组件:特色是它定义了OpenXml所包含的所有对象(たぶ ...

随机推荐

  1. 【python之路5】学习小结

    一.编程语言 java C语言 C++ C# Python 二.python语言的种类 Cpython:python的官方版本,使用最为广泛,实现将python(py文件)转换为字节码文件(pyc文件 ...

  2. 使用Metrics.NET 构建 ASP.NET MVC 应用程序的性能指标

    通常我们需要监测ASP.NET MVC 或 Web API 的应用程序的性能时,通常采用的是自定义性能计数器,性能计数器会引发无休止的运维问题(损坏的计数器.权限问题等).这篇文章向你介绍一个新的替代 ...

  3. CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率

    CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率 当场景中有比较复杂的模型时,条件渲染能够加速对复杂模型的渲染. 条件渲染(Conditio ...

  4. ABP源码分析二十一:Feature

    Feature是什么?Feature就是对function的分类方法,其与function的关系就比如Role和User的关系一样. ABP中Feature具有以下属性: 其中最重要的属性是name, ...

  5. ABP源码分析四十六:ABP ZERO中的Ldap模块

    通过AD作为用户认证的数据源.整个管理用户认证逻辑就在LdapAuthenticationSource类中实现. LdapSettingProvider:定义LDAP的setting和提供Defaut ...

  6. Entity Framework 6 Recipes 2nd Edition(10-4)译 -> 从存储过程返回一个复杂类型

    10-4. 从存储过程返回一个复杂类型 问题 想在方法中使用一个返回复杂类型的存储过程 解决方案 假设我们已经有如Figure 10-3.所示的模型,该Employee (雇员)模型包含Employe ...

  7. Maven(一)环境搭建

    网上已经有很多Maven学习的笔记和文章了,但是不自己亲自玩一玩,踩踩坑,证明不了自己到底能不能搞定它! 今天自己亲自搭建了一下环境,感觉基本的使用应该是可以满足了. 使用背景: 安装环境:Windo ...

  8. JavaScript随笔8

    正则表达式: search(a);//查询a的位置 substring(2,5)//获取到2到4位 chartAt(3);//获取到第3位 split('-');//以-切分 (1) RegExp对象 ...

  9. Laravel 5.3 登录注册底层实现详解

          每个控制器都使用 trait 来引入它们需要的方法 */ 用于处理用户登录认证 用于处理新用户注册 包含重置密码逻辑 用于处理重置密码邮件链接   认证需要的视图 包含了应用的基础布局文件 ...

  10. ASP.NET MVC Anti-XSS方案

    1:Form提交模式 在使用Form提交时,MVC框架提供了一个默认的机制.如果数据中含有恶意字,则会自动转向出错页面.   2:Ajax+JSON提交模式. MVC框架未提供对于Json数据的Ant ...