[发明专利]一种基于WPF技术生成及加载特定项目文件的方法有效
申请号: | 201710115426.5 | 申请日: | 2017-03-01 |
公开(公告)号: | CN106909672B | 公开(公告)日: | 2020-04-24 |
发明(设计)人: | 梁效宁;鄢刚 | 申请(专利权)人: | 四川艾特赢泰智能科技有限责任公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/172 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于WPF技术生成及加载特定项目文件的方法,包括以下步骤:源数据的备份保存;以zip方式压缩源数据;文件MD5值获取;十六进制字节全部逆向处理;后缀名设定及核心加密处理;案例项目文件的加载;逆向解密项目文件;提取源数据中有效数据;以WPF的显示技术结合地图及时间线对数据精准展示本发明的有益效果如下:项目文件为单个文件,方便了加载显示项目数据;拷贝移动数据时优于以文件夹方式的案例项目;采用独特的多重加密方式,保证项目文件完整的同时防止项目文件被篡改;通用性强,方便移植;以WPF界面更加简洁直观,便于研判。 | ||
搜索关键词: | 一种 基于 wpf 技术 生成 加载 特定 项目 文件 方法 | ||
【主权项】:
一种基于WPF技术生成及加载特定项目文件的方法,其特征在于包括以下步骤:S1:源数据的备份保存;采用USB和WIFI两种不同提取方式,增加了识别设备上数据的创建时间,及最后修改时间的环节,当备份到本地后再修改该备份文件在设备上的真实创建时间即最后修改时间,得到与设备原始数据一致的文件;S2:以zip方式压缩源数据,使用压缩文件夹的递归算法;使用第三方zip压缩库输入需要压缩的文件夹路径后,开始检索当前路径下的文件夹和文件,如果是文件夹则再次调用该算法进行递归检索,如果是文件,则开始以文件流的方式打开该文件,在写入该动态库的ZipEntry对象中,同时刷新与界面交互的当前正在压缩的文件名及大小,最重要的是在压缩完该文件时,在调用下列方法保存原始文件的最后修改时间;FileInfo fileINFO=new FileInfo(file);entry.DateTime=fileINFO.LastWriteTime.ToUniversalTime();S3:获取文件MD5值;S4:十六进制字节全部逆向处理,执行字节流的逆向操作:首先设定一个字节缓存buffer:byte[]inSertData=new byte[2048],同时设定已加密大小初值:int completedLength=0,加密文件总大小long inFileSize=srcStream.Length;最后开始执行逆向处理的核心算法:每次读取文件中2KB的数据转化为byte[]数组,然后该数组中每个字节执行:inSertData[i]=(byte)(byte.MaxValue‑inSertData[i])操作;completedLength加上byte[]数组大小用于和inFileSize文件总大小做比较,如果小于inFileSize再循环返回读取文件下一个2KB数据进行同样操作,如果相等则表示读取到该文件末尾字节,结束逆向操作;S5:后缀名设定及核心加密处理,根据程序内部定义的项目文件后缀名来再次加密字节流并写入文件MD值;S51:获取项目文件后缀名的字节计算及加密码:获取项目文件后缀名的字符串,由该字符串得出字节数组1,数组中的数字累加再除以10得到余数,而余数则为该项目文件的后缀加密码;再将S4中获取的新的字节流数组与余数异或处理得到数组2;S52:在新的字节流中加入项目后缀标识,利用S1得出的加密字节数组2,和后缀字节数组1,将后缀数组加入到文件数组的最前面即得到数组3;S53:在字节流中写入MD5值,在S3中获取的MD5值为32位的字符串,将该字符串转化为字节数组为128位的字节数组;根据S51中的后缀加密码和S52中的新字节流数组3,将该128位的MD5字节数组插入到新字节流倒数得到最终的字节流,完成三重加密,将最终的字节流写入到导出的项目文件中即完成了整个项目文件的制作;S6:案例项目文件的加载,判断文件是否为项目文件;打开选中的项目文件,以文件流的形式打开获取字节数组,开始读取0‑3位的字节数组NewArray,比对NewArray与后缀名字节数组2是否相等,如果相等则从项目文件中剔除掉该后缀名的字节数组,再继续进行下一步,如不相等则提示该文件不是可以读取的项目文件;S7:逆向解密项目文件;S71:获取项目文件的MD5值根据S6步骤中得出项目文件的后缀名字节数组2,参照S51步骤得出后缀加密码;以文件流的方式打开项目文件,找到文件最后倒数第3个字节,往前读128个字节数组并将该数组从文件中剔除掉,将该MD5值数组转化为字符串类型则获取了32位的MD5字符串,将该MD5值保持下来用于后续解密后的文件校对;S72:文件字节流的异或逆向解密处理参照S51中的后缀加密码及异或加密算法对项目文件全部解密处理;参照S4中的字节数组逆向操作再对项目文件解密处理;S8:提取数据源中的有效数据;S9:以WPF的显示技术结合地图及时间线对数据精准展示;S91:WPF界面嵌入地图插件,首先封装地图离线服务器的离线图片,将这些地图全部写入db数据库中,在WPF软件界面开启时,以检索到的定位点来加载界面的地图显示;S92:展示数据,根据S82步骤中的解析数据,在界面上展示所有提取到的数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川艾特赢泰智能科技有限责任公司,未经四川艾特赢泰智能科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710115426.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑工程构件截面尺寸测量装置
- 下一篇:销轴距测量装置