[发明专利]一种Windows客户端程序模块间的加密数据传输的方法和装置有效
| 申请号: | 201911420868.6 | 申请日: | 2019-12-31 |
| 公开(公告)号: | CN113127223B | 公开(公告)日: | 2022-10-11 |
| 发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F21/60;H04L9/08;H04L9/14 |
| 代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 徐松 |
| 地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 windows 客户端 程序 模块 加密 数据传输 方法 装置 | ||
本发明涉及加密数据传输技术领域,具体涉及一种Windows客户端程序模块间的加密数据传输的方法和装置。本发明首先对为第一DLL模块创建并设置第一密钥数据,然后在隐形窗口的句柄中存入初始密钥以及第一加密数据;当第一DLL模块向第二DLL模块传输第一数据时,本发明首先通过读取隐形窗口的句柄以解密获知第二密钥数据,然后使用第一密钥数据和第二密钥数据共同对第一数据的指针进行加密;之后当第二DLL模块获取第一数据时,再次通过读取隐形窗口的句柄以解密获知第二密钥数据,从而获得第一数据。本发明创新地将第二密钥数据的解密信息保存在隐藏窗口的句柄中,通过读取隐藏窗口的句柄获得加解密数据,提高了DLL模块间的数据传输的安全性。
技术领域
本发明涉及加密数据传输技术领域,具体涉及一种Windows客户端程序模块间的加密数据传输的方法和装置。
背景技术
在一些Windows客户端程序正常运行过程中,DLL模块之间有时需要进行数据传输。现有方式都是通过在每个DLL模块中增加一个接口,通过返回数据给该接口以实现DLL模块间的数据传输。但这种数据传输方式,存在较大的被病毒程序获取的风险,安全性太低。
因此,目前亟需一种安全性高的Windows客户端程序模块间的数据传输方案。
发明内容
本发明所要解决的是现有技术中现有的Windows客户端程序模块间数据传输安全性低的问题。
本发明实施例提供了以下方案:
第一方面,本发明实施例提供一种Windows客户端程序模块间的加密数据传输的方法,包括:
根据主程序的启动时间戳、主程序中所有线程的线程ID和第一DLL模块的名称,生成所述第一DLL模块的第一密钥数据;
创建隐形窗口,将初始密钥数据保存在所述隐形窗口的句柄中;其中,所述初始密钥数据通过所述隐形窗口的句柄计算Hash值得到;
以所述初始密钥数据为密钥,利用第一加密算法对第二密钥数据加密,生成第一加密数据,并将所述第一加密数据保存在所述隐形窗口的句柄中;
对所述第一加密数据进行第一次解密,以获得第一次解密后的所述第二密钥数据;
根据所述第一密钥数据和第一次解密后的所述第二密钥数据,第一次生成第三密钥数据;
以所述第三密钥数据为密钥,利用所述第一加密算法对所述第一数据的指针加密,获得第二加密数据,并将所述第二加密数据保存在所述第一DLL模块中的局部存储对象中;
对所述第一加密数据进行第二次解密,以获得第二次解密后的所述第二密钥数据;
根据所述第一密钥数据和第二次解密后的所述第二密钥数据,第二次获得所述第三密钥数据;
判断当前线程是否属于所述第一DLL模块;
若是,则根据第二次获得的所述第三密钥数据对所述第二加密数据解密,获得所述第一数据。
在一种可能的实施例中,所述以所述初始密钥数据为密钥,利用第一加密算法对第二密钥数据加密,生成第一加密数据,并将所述第一加密数据保存在所述隐形窗口的句柄中之前,包括:
将所述隐形窗口的当前累计刷新次数保存在所述隐形窗口的句柄中;
根据所述隐形窗口的当前累计刷新次数的更新间隔时间,计算所述隐形窗口的刷新帧率;
根据所述刷新帧率,计算每秒钟处理的数据量,计算公式如下所示:
其中,DS为每秒钟处理的数据量,FPS为所述隐形窗口的刷新帧率,Factor1为第一拟合参数,Factor2为第二拟合参数,Factor3为第三拟合参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911420868.6/2.html,转载请声明来源钻瓜专利网。





