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

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

读在最前面:

  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. Oracle 列数据聚合方法汇总

    网上流传众多列数据聚合方法,现将各方法整理汇总,以做备忘. wm_concat 该方法来自wmsys下的wm_concat函数,属于Oracle内部函数,返回值类型varchar2,最大字符数4000 ...

  2. 监控 SQL Server (2005/2008) 的运行状况

    Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...

  3. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  4. Windows 上安装 Jekyll.

    Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...

  5. [DS] 标记字段

    标记字段 代码中有时候有这种需求:需要一个公共访问的标记字段,以下称为标记字段. 下面是案例: 一个订单详情页面,如果页面在显示中,程序中其它地方需要访问这个"正在查看中"的订单信 ...

  6. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  7. ABP理论之CSRF

    返回总目录 本篇目录 介绍 ASP.NET MVC ASP.NET WEB API ASP.NET Core[以后补上] 客户端类库 内部原理 介绍 CSRF[Cross-Site Request F ...

  8. ENode框架单台机器在处理Command时的设计思路

    设计目标 尽量快的处理命令和事件,保证吞吐量: 处理完一个命令后不需要等待命令产生的事件持久化完成就能处理下一个命令,从而保证领域内的业务逻辑处理不依赖于持久化IO,实现真正的in-memory: 保 ...

  9. MyBatis6:MyBatis集成Spring事物管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...

  10. CSharpGL(28)得到高精度可定制字形贴图的极简方法

    CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...