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

Posted littlehb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了财务软件加密与解密设计思路相关的知识,希望对你有一定的参考价值。

(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)根据文件最后的标识部门名称,来决定取哪个私钥进行解密。

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



以上是关于财务软件加密与解密设计思路的主要内容,如果未能解决你的问题,请参考以下文章

《加密与解密(第4版)》

Java 课堂作业 加密与解密

C语言编程: 文件移位加密与解密。

加密与解密

关于字符串加密与解密

简单文本文件的加密与解密。