财务软件加密与解密设计思路

(1)RSA目前只知道有公钥和私钥,能加密解密字符串,但不能直接加密解密文件。

(2)DES可以通过密码进行加密解密文件。

(3)DES用的密码,可以使用RSA的公钥和私钥进行一下二次加密,以保护。

(4)DES的密码是读取的计算机MAC地址,并且加了一个强度高的密码进行综合,还做了MD5处理。

(5)DES的密码是机器相关的,如果更换机器,就需要向上级同步自己的新生成私钥。

=============================================================

1、获取上报部门的名称:Org_Name
2、按Org_Name生成公钥和私钥,计为:Org_Name_Public.xml和Org_Name_Private.xml,备用。
3、获取网卡的MAC地址,并且使用md5(MAC地址+密码Dsidea*********)生成加密文件的DES完整密码:DES_PassWord

4、用DES加密EXCEL文件。

5、将DES_PassWord,使用公钥二次加密,得到RSA_SECOND_MIWEN

6、测出二次加密后的文本长度len(RSA_SECOND_MIWEN),不管长度是2位,3位,还是4位,统一按4位数计,得到 一个   XXXX的数字,不足四位,前面补零解决。

7、再次使有部门名称,转为BASE64编码:BASE64_OrgName,并获取到长度 :len(BASE64_OrgName),不管长度是2位,3位,还是4位,统一按4位数计,得到 一个   YYYY的数字,不足四位,前面补零解决。

云平台软件部
5LqR5bmz5Y+w6L2v5Lu26YOo

管理软件部
566h55CG6L2v5Lu26YOo

8、在加密后的EXCEL尾部增加内容,先加上RSA_SECOND_MIWEN,再加上BASE64_OrgaName,再将XXXX和YYYY和0001增加到最后。0001表示部门经理审核通过。

至此加密工作完整完成。这个文件由五部分组成,
(1)DES加密后的文件体。
(2)RSA_SECOND_MIWEN :这个是RSA加密后的DES密码,不用私钥解开不能直接用于解DES加密后的文件。
(3)部门名称的BASE64编码
 (4) YYYY:len(BASE64_OrgName)  文件最后面4位,表示是Org_Name的BASE64的长度,即从文件的最后去掉12个字节,再取YYYY个长度,就是部门的BASE64编码,知道了这个原则,就可以直接获取到文件的上报部门。
(5)XXXX:len(RSA_SECOND_MIWEN) 根据获取到的上报部门名称,查找到应的私钥,使用私钥即可解开DES密文。
========================================
副总解压过程:
(1)按上面原理解压缩EXCEL文件。
(2)审核认为没有问题后,将部门经理提交的加密EXCEL再进行一轮DES加密,方法与上面完全一致,只是在XXXX和YYYY的最后添加上0002标识是副总审核通过的。
(3)副总的程序也需要设置部门的名称,比如基础教育软件研发部。

财务解压过程:
(1)只解压最后一位是0002的。
(2)需要部门经理和副总的私钥文件都存在于财务的电脑中。
(3)根据文件最后的标识部门名称,来决定取哪个私钥进行解密。

===========================================

原文地址:https://www.cnblogs.com/littlehb/p/8955155.html

时间: 2024-11-05 18:50:42

财务软件加密与解密设计思路的相关文章

关于加密解密设计思路

当你发post,get请求,而这个请求带有密码,用户名等信息时,往往要对其加密,而接受请求的一方再对其解密.如果是我们做查询功能是,如果查询参数带有身份证信息,我们对身份证,用规定好的密钥进行加密解密,一般也就达到想要的效果,因为我截取这段密文,并不明白其明文是什么意思.但是如果模拟登录,向其发送请求,如果密钥固定不变的话,就达不到想要的效果,我只要抓到你加密好的参数,模拟发送端,参数原样发送过去,往往就可以进行登陆了. 这时,我们可以对加密好的密文进行改造,比如密钥一部分都是利用随机数生成的,

软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处有以下几点: 1. 由于LL1制导翻译是一项成熟且可靠的技术,并且其递归下降算法易于改编为算式生成算法: 2. 我们有系统的方法可以获得较复杂表达式的LL1文法,则可以方便地生成形式丰富的算式: 3.由于四则混合运算中需要考虑运算优先级的问题,那么采用LL1分析器可以很方便的实现计算表达式的功能: 4.当用户

防止恶意登录的设计思路

关于上一篇<关于加密解密设计思路>提到的动态密钥,加密解密的设计思路来保证每次password.key这类重要信息每次请求都发生变化,可是我用抓包工具截获get,post请求时,假设我password动态加密完,是keyjafjalewei78732可是我假设没对这个内容做有效期校验.还是照样能够登录系统,进行恶意破坏. 因为我们常常实现这样的,都是在一个类似单点登录的跨服务的web系统上,比方A系统发送post请求登录B系统.我们能够做两套安全方案: 一,我们的密钥每天变换一次.加密好的密文

移动端破解TLS加密的数据的设计思路

本文主要讲解了破解移动端HTTPS数据的思路,今天跟大家分享一下. 在上一篇文章中,讲述了如何通过浏览器和wireshark之间的关系,来破解利用浏览器访问的加密数据,在那篇文中曾提到过,中间截获的数据是没有办法解密,其实也不准确.举个栗子,如果在局域网中,能够通过共享等方式拿到那个环境变量为SSLKEYLOGFILE对应的文件,还是能够解密相应的数据流量的,当然还有其他的解决思路,这就是我们这次会涉及到的内容.但是这次的重点是移动端如何破解TLS加密数据,毕竟移动为王. 由于这块内容比较多,准

OD学习笔记10:一个VB程序的加密和解密思路

前边,我们的例子中既有VC++开发的程序,也有Delphi开发的程序,今天我们给大家分析一个VB程序的加密和解密思路. Virtual BASIC是由早期DOS时代的BASIC语言发展而来的可视化编程语言. VB是由事件驱动的编程语言:就是在可视化编程环境下我们可以绘制一些窗体,按钮,编辑框等控件,然后为这些控件所可能引发的事件如按钮被单击或者被双击编写对应的处理代码. 所有的VB程序几乎都是依赖于一个外部的动态链接库.这个动态链接库的名字是:MSVBVM60.dll(可能有多个版本,但名字都差

张左峰的分享 网页游戏制作技术 加密的设计思路与手段

网页游戏制作技术 加密的设计思路与手段 必备工具:Doswf 好朋友Laan开发,请自行百度搜索 今天太晚了,明天再更新内容...咔咔咔

加密和解密技术基础、PKI及创建私有CA

一.数据加密和解密概述 数据加密和解密是一门历史悠久的技术,从古代就已经出现了,一直发展到当代.其中,数据加密的目的有很多,可以是为了保证本地数据存取的安全性,可以是为了保证数据流在网络传输过程中的保密性,也可以是为了验证数据的完整性,还可以通过数据加密来实现密钥的交换等. 数据加密依赖于某种加密算法和加密密钥,而数据解密则依赖于某种解密算法和解密密钥.而在当代加密解密技术中,加密密钥既可以与解密密钥相同,也可以和解密密钥不同,这取决于使用什么方法进行加解密. 二.安全的目标 就信息传输过程来说

软件加密的现状和发展趋势

一.软件加密方法 前面提到过,软件加密技术分为基于硬件的加密方式和基于软件的加密方式. 1.基于硬件的加密方式 基于硬件的加密方式主要是加密锁,一些重要信息,如加密密钥.敏感数据.授权文件.自定义算法等都可以存储在加密锁中. 加密锁从接口形式分为并口和USB口两种.并口是早期的使用的形式,因为插拔不方便和与打印机冲突,现在已较少使用.目前大多数开发商使用的都是USB接口的加密锁. 加密锁从CPU类型来说分两种,一种使用单片机作CPU,另一种使用智能卡芯片作CPU.单片机硬件本身容易被破解或复制,

加密和解密技术基础与OpenSSL

加密和解密技术基础与OpenSSL 加密和解密技术基础(01) 1.了解Linux  service  and  securityOpenSSL:为网络通信提供安全及数据完整性的一种安全协议 2.一般都是C/S通信,此种通信客户端有什么特性?服务端有什么特性呢?(1)两台主机上的通信方式?主机通信实际是进程间通信.通信方式:socket (套接字)ip:port          客户端cip:port<-->服务器端 scip:port(2)如何让客户知道自己的主机和端口呢?把某些众所周知的