驰骋工作流引擎-流程数据md5加密
关键字:工作流程数据加密 md5 数据保密流程数据防篡改软加密
设置方式: 对工作流引擎的数据加密研究, 流程数据的加密方案与实现过程.
输入图片说明
需求背景
1, 流程数据加密是为了防止流程数据被篡改的需要,从而造成对单位的不必要损失。
2, 流程数据篡改是具有管理员身份与非法入侵者,尤其是防范业务人员与具有系统管理员结合做坏事情。
比如: xxx公司在xx年曾经出现过这样的情况, 业务人员与管理员勾结,导致单位200万元损失,虽然最后查出来,罚款判刑,但是这是事后处理.
3, 并非所有的流程数据都需要加密, 比如请假流程就不需要,但是报销或者其它具有敏感数据的流程就需要了。
4, 被篡改后的数据需要警报,并写入log日志,还要不能被执行下去。
5, 要求每个节点的数据都要加密,整体流程数据也要加密。
处理方案:
1, 在流程中增加一个属性 IsMD5 是否要加密. 默认是否, 不加密.
2, 用户信息中包括一个盐值,用于后期的加密运算。
3, 凡是加密过的流程在每个节点表单上增加字段MD5 长度为 char(36) 的字段,这个字段用于存储这个节点数据的MD5值.
4,在NDxxRpt 表中增加字段MD5 用于存储流程数据加密。
5,生成MD5值: 在如下两个步骤中生成MD5值,并存储到相关的物理表中.
1, 节点发送成功后.
2, 节点发送失败时.
6, 生成MD5值的方法.
1, 把节点表单字段排除有些字段是默认值的随即获取的字段(比如:获取当前时间,当前操作员....),组合成一个大的文本, 然后通过获取审批用户盐值,一起MD5加密.
2, 加审批用户盐值意义是防止通过彩虹表暴力破解.
7, 检查是否被篡改的步骤.
1,获得节点与流程数据表的数据, 排除关键性的字段.
2, 执行MD5加密。
3,将两者串比较。
8, 在如下情况下检查MD5值是否正确.
有涉及到打开节点表单的地方:
1, 打开待办工作时.
2, 通过流程日志打开节点表单时.
3, 打开抄送工作时.
4,打开地途工作时.
有涉及到打开流程数据的地方.
1, 打开工作轨迹时的流程数据时.
以上有任何不对地方,都要禁止打开并写入log的文本日志中.
对应的流程Demo: \流程树\表单解决方案\请假流程(轨迹模式)
驰骋工作流引擎-流程数据md5加密的更多相关文章
- 驰骋开源的asp.net工作流程引擎java工作流 2015 正文 驰骋工作流引擎ccflow6的功能列表
关键词: 驰骋工作流引擎 ccflow的功能列表 工作流功能列表 表单引擎功能列表 我们工作流引擎ccflow6重构之后对功能做了一些调整,要想快速了解ccbpm的功能,可以以下面列表为准 ...
- 驰骋工作流引擎 -CCBPM如何自动升级
关键词:工作流引擎自动升级 工作流自动升级升级步骤设置1,CCBPM把更新分成三类, 应用程序代码更新.数据表结构更新.数据更新.2,CCBPM在您登录流程设计器时自动判断当前的版本与数据库版本是 ...
- 驰骋工作流引擎ccflow-ccbpm工作流引擎sdk表单装载逻辑处理注意事项
cbpm工作流引擎sdk表单装载逻辑处理注意事项 关键字:驰骋工作流引擎 sdk表单 装载接口调用 说明:如果您要采用ccbpm的sdk表单开发,在表单 加载前您需要调用一个接口来获得当前节点的信 ...
- 驰骋工作流引擎-ccflow单据模式介绍与使用
Ccflow单据模式 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 表单单据模式增删改查 应用场景: 一些客户在使 ...
- 驰骋工作流引擎与jFinal集成版本2.0
驰骋工作流引擎与jFinal集成版本2.0 发布说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统java工作流引擎. 使用协议:GPL. 关于JFinal: https://www.jfin ...
- 驰骋工作流引擎 -Webservice接口说明文档
关键词:工作流引擎接口说明 驰骋工作流接口参数详解 接口 LocalWSI /** * 待办 * @param userNo 用户编号 * @param sysNo 系统编号,为空时返回平台所有 ...
- 驰骋工作流引擎JFlow与activiti的对比 -总结
共同点: 1. 嵌入式的工作流引擎,降低集群复杂性. 2. 严格而灵活的流程版本控制 3. 支持多种数据库 4. 支持多种流程设计模式 5. 成熟度高的开源工作流,具有可靠的稳定性和性能. 区别: 1 ...
- 驰骋工作流引擎JFlow与activiti的对比之2种取消模式
1. 取消模式(Cancel Activity) 就是将某个活动取消. JFLOW中,类似与删除流程操作相同. 不能删除:不允许删除. 逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程 ...
- 驰骋工作流引擎ccflow-流转自定义功能使用说明
流转自定义功能使用说明 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 节点跳转 节点流转自定义 应用背景: 有一些流程在运行过程中是 ...
随机推荐
- MicroService 微服务架构模式简述
开源地址: https://github.com/TheCodeCleaner/MicroService4Net 本文内容 微服务 微服务风格的特性 组件化(Componentization )与服务 ...
- javascript 正则(将数字转化为三位分隔的样式)
'12345678912345678'.replace(/\B(?=(?:\d{3})+\b)/g, ',') 解释: \b : 匹配单词边界,就是位于字符\w([a-zA-Z0-9_])和\W[^a ...
- 数据结构之ConcurrentHashMap
并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap ...
- spring Cloud 域名映射 ip地址实现
spring.cloud.inetutils.preferredNetworks[0]=^192\.168 eureka.instance.prefer-ip-address=true
- iOS开发中数据持久化
使用几个小例子分别实现 归档NSKeyedArchiver.NSUserDefaults.plist文件数据存储,简单直观.代码地址
- SSM-MyBatis-13:Mybatis中多条件查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 实体类 public class Book { private Integer bookID; private ...
- 传统业务上云:跨AZ容灾架构解析
本文由 网易云发布. 数字化转型浪潮之下,采用云计算服务提升业务敏捷性.降低运维成本,成为了传统企业的优选方案.网易云资深解决方案架构师张亮通过某物流企业客户的实际案例,分享了传统业务系统在云上的架 ...
- 排序系列 之 快速排序算法 —— Java实现
基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变 ...
- 【最小生成树+子集枚举】Uva1151 Buy or Build
Description 平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方. 另外还有q(0<=q< ...
- python yield用法 (tornado, coroutine)
yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行.也就是说,y ...