一种ERP在线文档加密的方法与流程

文档序号:12467862阅读:764来源:国知局

本发明涉及通信信息技术领域,具体地说是一种ERP在线文档加密的方法。



背景技术:

随着信息化进程的推进,信息安全建设的重点,从早期的信息系统自身的安全,已经过渡到信息内容的安全。存储于各种设备上的电子文档,正遭受来自内部和外部的各种途径的泄露。文件泄露现象愈演愈烈,给企业带来严重的后果。因此,随着市场的需求,基于文件泄露防护需求而诞生的文件加密手段,逐渐走进政府机关、军队和企事业单位,保护数据安全,越来越多的人意识到文件加密的重要性。当然加密机制并非越安全越好,根据安全级别的不同,采用的加密机制可能都不同,需要依赖于具体的业务场景,离开业务场景谈论加密算法都是毫无意义的。为了解决电子文档安全问题,我们提供了一套完整的解决方案,现提供一种ERP在线文档加密的方法。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种ERP在线文档加密的方法。

一种ERP在线文档加密的方法,其具体实现过程为:

首先定义文档共享目录设置的数据表;

定义共享目录权限设置,用于分配文档维护人员共享目录的查看权限;

设置加密规则,该加密规则包括加密规则编号、描述及加密规则设置信息;

设置密级字典,该字典包括密级编号、描述及加密规则,其中加密规则为上述加密规则设置中定义的信息;

设置文件夹,用于区分文件的逻辑存储目录,根据文件分类、文件的密级设置;

文档管理,用户上传、在线编辑文档使用,上传文档时,指定文档的逻辑存储目录,便于控制文档上传及编辑时进行加密控制。

所述共享目录包括存储位置的描述、存储位置IP地址、用于存取电子文档而独立设置的用户名、密码信息。

所述加密规则中定义多种加密设置,包括:不加密、读写加密、帐套实例、动态验证码;其中,

1)设置为不加密时,文件的上传读写均不加密,脱机状态下,即不使用文档在线编辑器时,上传至共享目录相应位置的电子文档可正常查看;

2)设置为读写加密时,文件的上传读写加密,脱机状态下,即不使用文档在线编辑器,上传至共享目录相应位置的电子文档后无法正常查看;

3)设置为帐套实例时,除文件的上传读写加密外,使用文档在线编辑器读取该文件前,系统还会校验当前帐套是否同上传帐套实例一致,校验通过后方可正常读取;

4)设置为动态验证码时,除文件的上传读写加密外,文件写入时,系统随机分配一条动态验证码给该文档,并将该动态验证码进行MD5加密后写入文档信息中,使用文档在线编辑器读取该文件前,系统会校验动态验证码是否同上传文档时生成的验证码一致,校验通过后正常读取。

设置文件夹时,指定文档的共享目录,即文件的实际存储位置,同时指定该文件夹下文档的密级属性。

本发明的一种ERP在线文档加密的方法和现有技术相比,具有以下有益效果:

本发明的一种ERP在线文档加密的方法,实现了ERP在线文档的加密和解密,可以根据客户业务需要,在文档加密规则中灵活设定数据文档加密的规则,实现对不同密级类型的文档的分层控制;与现有技术相比,本发明具有数据安全性高、加密方式灵活等特点,实用性强,适用范围广泛,具有很好的推广应用价值。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

本发明提供了一种ERP在线文档加密的方法,其具体实现过程为:

首先需要定义文档共享目录设置的数据表,共享目录包括存储位置的描述、存储位置IP地址、用于存取电子文档而独立设置的用户名、密码等信息。

定义共享目录权限设置,用于分配文档维护人员共享目录的查看权限。

加密规则设置,用于定义不同的加密规则。加密规则包括加密规则编号、描述及加密规则设置等信息,可定义多种加密设置,例如:不加密、读写加密、帐套实例、动态验证码;

1)设置为不加密时,文件的上传读写均不加密,脱机状态下(不使用文档在线编辑器),上传至共享目录相应位置的电子文档可正常查看);

2)设置为读写加密时,文件的上传读写加密,脱机状态下(不使用文档在线编辑器),上传至共享目录相应位置的电子文档后无法正常查看;

3)设置为帐套实例时,除文件的上传读写加密外,使用文档在线编辑器读取该文件前,系统还会校验当前帐套是否同上传帐套实例一致,校验通过后方可正常读取;

4)设置为动态验证码时,除文件的上传读写加密外,文件写入时,系统会随机分配一条动态验证码给该文档,并将该动态验证码进行MD5加密后写入文档信息中,使用文档在线编辑器读取该文件前,系统会校验动态验证码是否同上传文档时生成的验证码一致,校验通过后方可正常读取;

密级字典设置,用于定义密级字典,该字典包括密级编号、描述及加密规则,其中加密规则为上述加密规则设置中定义的信息。

文件夹设置,用于区分文件的逻辑存储目录,可根据文件分类、文件的密级灵活设置。创建文件夹时,需指定文档的共享目录,即文件的实际存储位置。创建文件夹时,也可指定该文件夹下文档的密级属性,无需为每个文档逐一设置密级。

文档管理,用户上传、在线编辑文档使用,上传文档时,需指定文档的逻辑存储目录,便于控制文档上传及编辑时进行加密控制。

本发明中实现的具体代码为:

private string SetFileUserAuth()

{

string retMes = string.Empty;

string strsql = string.Empty;

string strobjID = Request.Form["objID"].ToString();/*选中后使用 拼接的字符串*/

string strunobjID = Request.Form["unObjID"].ToString();/*选中后又取消使用 拼接的字符串*/

string strUserID = Request.Form["userid"].ToString(); /*用户ID*/

string strUtype = Request.Form["utype"].ToString(); /*用户类型*/

string[] arrCheck = strobjID.Split(new char[]{','});

string[] arrUnCheck = strunobjID.Split(new char[]{','});

string strUserType = Request.Form["uType"].ToString();/*用户类型*/

string createtime = DateTime.Now.ToShortDateString();/*生效日期 默认为当前日期*/

string endtime = string.Empty;/*结束日期 默认为空*/

//创建人

string ucreater = Session["UserName"].ToString();

//选中后又取消使用 拼接的字符串 字符串格式示例:r01:file^17d14465-4e04-4299-9f91-39a31fe79f8b,r02:folder^17d14465-4e04-4299-9f91-39a31fe79f8b

if (!strunobjID.Equals(string.Empty))

{

foreach (string struncheck in arrUnCheck)

{

//解析字符串 解析后的字符串格式示例:r01:file^17d14465-4e04-4299-9f91-39a31fe79f8b

if (struncheck != "")

{

string strUnobjid = struncheck.Split(new char[] { '^' })[1];// 授权对象内码 解析后的字符串格式示例:17d14465-4e04-4299-9f91-39a31fe79f8b

string strRcode = struncheck.Split(new char[] { ':' })[0].ToUpper();// 授权编号(为保证统一 字母统一为大写格式) 解析后的字符串格式示例 :R01

//根据选中的授权对象内码、授权编号及授权用户 删除已分配的权限

strsql += String.Format("delete from SDSYSFILEAUTH where SDSYSFILEAUTH_FID ='{0}' AND SDSYSFILEAUTH_USER='{1}' AND SDSYSFILEAUTH_RightCode='{2}'; ", strUnobjid, strUserID, strRcode);

}

}

}

//新增项不为空,执行新增操作 字符串格式示例:r01:file^17d14465-4e04-4299-9f91-39a31fe79f8b,r02:folder^17d14465-4e04-4299-9f91-39a31fe79f8b

if (!strobjID.Equals(string.Empty))

{

foreach (string strcheck in arrCheck)

{

//解析字符串 解析后的字符串格式示例:r01:file^17d14465-4e04-4299-9f91-39a31fe79f8b

if (strcheck != "")

{

string strckobjid = strcheck.Split(new char[] { '^' })[1];// 授权对象内码 解析后的字符串格式示例:17d14465-4e04-4299-9f91-39a31fe79f8b

string strRcode = strcheck.Split(new char[] { ':' })[0].ToUpper();// 授权编号(为保证统一 字母统一为大写格式) 解析后的字符串格式示例 :R01

string strRtype = strcheck.Split(new char[] { '^' })[0].Split(new char[] { ':' })[1]; //权限对象类型 解析后的字符串格式示例:file/folder

//根据选中的授权对象内码、授权编号及授权用户 删除已分配的权限(避免权限重复)

strsql += String.Format("delete from SDSYSFILEAUTH where SDSYSFILEAUTH_FID='{0}' AND SDSYSFILEAUTH_USER='{1}' AND SDSYSFILEAUTH_RightCode='{2}'; ", strckobjid, strUserID, strRcode);

//插入权限信息

strsql += String.Format("insert into SDSYSFILEAUTH(SDSYSFILEAUTH_ID,SDSYSFILEAUTH_TYPE,SDSYSFILEAUTH_FID,SDSYSFILEAUTH_AuthObjType,SDSYSFILEAUTH_USER,SDSYSFILEAUTH_RightCode,SDSYSFILEAUTH_AuthDateTime,SDSYSFILEAUTH_AuthUserID) values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}'); ", strRtype, strckobjid, strUtype, strUserID, strRcode, createtime, ucreater);

}

}

}

if (!strsql.Equals(string.Empty))

{

Try

{

RunSql(strsql, null);

retMes = "{suc:true,msg:\"操作成功!\"}";

}

Catch

{

retMes = "{suc:false,msg:\"操作失败,请重试!\"}";

}

}

return retMes;

}

本发明实现了文档的读写加密及文档的二次加密解密,可以很大程度上避免企业重要文件泄露的风险,保证了企业文件信息的安全。该实现方式,不同于复杂的加密算法,对电脑配置要求不高,具有良好的稳定性和兼容性。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1