(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