CN113489723B - 数据传输方法、系统、计算机设备及存储介质 - Google Patents
数据传输方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113489723B CN113489723B CN202110757359.3A CN202110757359A CN113489723B CN 113489723 B CN113489723 B CN 113489723B CN 202110757359 A CN202110757359 A CN 202110757359A CN 113489723 B CN113489723 B CN 113489723B
- Authority
- CN
- China
- Prior art keywords
- file
- client
- preset
- adapter
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例属于信息安全领域,涉及一种数据传输方法,包括服务端获取原始类文件,根据预设密钥对原始类文件进行加密得到加密文件,打包加密文件得到目标文件,发送目标文件至客户端;客户端获取加密文件的类全名,在缓存中不存在历史文件时,获取目标文件,根据类全名从目标文件中获取加密文件,并根据解密密钥对加密文件解密得到原始类文件;客户端根据预设适配器生成原始类文件的核心对象,组装核心对象的服务请求得到组装请求,发送组装请求至服务端;服务端处理组装请求的请求数据。本申请还提供一种数据传输系统、计算机设备及存储介质。此外,本申请还涉及区块链技术,原始类文件可存储于区块链中。本申请提高了数据传输的安全性。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据传输方法、系统、计算机设备及存储介质。
背景技术
Java是一种面向对象的编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立性与可移植性、多线程和动态性等优点。通过Java可以对桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序进行编写。
Java sdk是Java的一种软件开发工具包,软件开发工具包是指特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。然而,在对象存储服务对外提供Java sdk时,并不希望客户端可以通过反编译查看sdk源码。当前,有很多针对可执行程序加密方案,但是针对于SDK的加密方案较少,现有的SDK加密方案往往不够完善,由此容易导致信息泄露的问题。
发明内容
本申请实施例的目的在于提出一种数据传输方法、系统、计算机设备及存储介质,以解决数据传输过程中信息泄露的技术问题。
为了解决上述技术问题,本申请实施例提供一种数据传输方法,采用了如下所述的技术方案:
服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端;
所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
进一步的,所述根据所述类全名从所述目标文件中获取所述加密文件的步骤包括:
所述客户端加载存储类路径下的所有存储文件,并获取所述服务端发送的所述目标文件的文件名;
匹配所述存储文件和所述文件名,确定与所述文件名匹配成功的存储文件为所述目标文件,加载所述目标文件,根据所述类全名从所述目标文件的目录中获取到所述加密文件。
进一步的,所述匹配所述存储文件和所述文件名的步骤包括:
所述客户端获取预设的正则匹配式;
根据所述正则匹配式匹配所述存储文件和所述文件名,得到所述目标文件。
进一步的,所述根据预设密钥对所述原始类文件进行加密,得到加密文件的步骤包括:
所述服务端获取所述原始类文件的文件大小,根据所述文件大小将所述原始类文件拆分为多个分组文件;
根据所述预设密钥对所述分组文件进行加密,直至所有所述分组文件加密完成,得到所述加密文件。
进一步的,所述根据所述预设密钥对所述分组文件进行加密的步骤包括:
所述服务端获取预设加密函数,将所述预设密钥和所述分组文件作为所述预设加密函数的输入,计算得到所述分组文件对应的子加密文件,所述子加密文件组成所述加密文件。
进一步的,所述根据所述预设适配器生成所述原始类文件的核心对象的步骤包括:
所述客户端获取所述原始类文件中数据的数据类型,根据所述数据类型确定关联的预设适配器,其中,所述预设适配器包括通用适配器和服务适配器;
在所述数据类型为普通类型时,确定所述预设适配器为所述通用适配器,根据所述通用适配器生成所述原始类文件的核心对象,并赋予所述核心对象属性值;
在所述数据类型为业务类型时,确定所述预设适配器为所述服务适配器,根据所述服务适配器生成所述原始类文件的核心对象。
进一步的,在所述确定所述客户端的缓存中是否存在所述类全名对应的历史文件的步骤之后,还包括:
在所述缓存中存在所述历史文件时,确定所述历史文件为所述原始类文件;
所述客户端生成所述历史文件对应的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
为了解决上述技术问题,本申请实施例还提供一种数据传输系统,所述数据传输系统包括服务端和客户端,其中:
所述服务端,用于获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至所述客户端;
所述客户端,用于获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
所述客户端,用于在所述缓存中不存在所述历史文件时,获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端,用于获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端,用于在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端;
所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端;
所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
本申请提出的数据传输方法,通过服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端,使得通过对原始类文件进行加密提高了数据的安全性;之后,所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件,根据历史文件可以确定客户端缓存中是否存在已经解密过的原始类文件,若存在,则直接获取该历史文件,进一步提高数据传输的效率;在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件,实现了客户端对加密文件的解密;而后,所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据,由此,实现了对传输目标文件中核心数据的加密,使得反编译软件无法查看,只有解密密钥的拥有者才能查看,提高了数据传输的安全性,避免了信息的泄露。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的数据传输方法的一个实施例的流程图;
图3是根据本申请的数据传输系统的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例的数据传输方法应用于数据传输系统中。如图1所示,系统架构包括服务端和客户端。服务端和客户端通过网络进行连接,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的服务端和客户端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务端和客户端。
继续参考图2,示出了根据本申请的数据传输的方法的一个实施例的流程图。所述的数据传输方法,包括以下步骤:
步骤S201,服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端;
在本实施例中,原始类文件为需要加密的类文件,对该原始类文件进行加密得到对应的加密文件,打包该加密文件,即得到目标文件。其中,该目标文件中还可以包括非加密文件,将该加密文件和非加密文件共同打包为目标文件,根据该非加密文件中预设的配置工具可以对加密文件进行加载、加密、解密等操作。具体地,原始类文件为Class类文件,Java程序在运行时,系统一直对所有的对象进行运行时的类型标识,该类型标识记录了每个对象所属的类信息,根据该类信息可以使得虚拟机选择正确的方法去执行。其中,用来保存该类型信息的类即为Class类,一个Class类封装一个对象和接口运行时的状态,即class类中定义了方法和属性。服务端通过目标编译路径可以获取到该目标编译路径下需要加密的原始类文件,在得到该原始类文件时,获取预设密钥。该预设密钥为服务端与客户端预先协议的密钥,服务端根据该预设密钥可以对该原始类文件进行加密得到加密文件。在得到该加密文件时,对该加密文件进行打包即得到对应的目标文件;除此之外,在得到该加密文件时,服务端还可以将预先配置的加载器和适配器等配置工具打包为非加密文件,之后对该加密文件和非加密文件共同进行打包,得到目标文件。最终打包得到的该目标文件即为一个SDK jar包。服务端发送该目标文件至客户端,客户端在接收到该加密文件时,根据该预设密钥对该加密文件进行解密。
需要强调的是,为进一步保证上述原始类文件的私密和安全性,上述原始类文件还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S202,所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在本实施例中,客户端对加密文件进行解密后,均会将解密后的原始类文件作为历史文件存储在缓存中,因此,在客户端对目标文件进行获取之前,需要对缓存中的存储文件进行查找,确定该缓存中是否存在对应的历史文件。具体地,客户端获取该目标文件中加密文件的类全名,其中,该类全名为加密文件对应的关键词标识,根据该类全名可以查找到该加密文件和该加密文件对应的原始类文件。若客户端曾经对同样的加密文件进行解密过,根据该类全名则可以从缓存中找到该加密文件解密后的历史文件,该历史文件即为该加密文件解密得到的原始类文件。
在客户端获取加密文件对应的类全名时,通过预设代理类可以获取到该类全名。其中,该预设代理类为客户端指定的代理类,根据该代理类可以得到处理实际逻辑的类,之后,根据该处理实际逻辑的类即可得到当前服务端发送的目标文件中加密文件的类全名。在客户端得到该类全名时,若根据该类全名从可以缓存中获取到对应的历史文件,则确定该客户端中存在该目标文件中加密文件对应的原始类文件;若根据该类全名从缓存中无法获取到对应的历史文件,则确定该客户端中不存在该目标文件中加密文件对应的原始类文件。
步骤S203,在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
在本实施例中,在客户端的缓存中不存在历史文件时,客户端则获取目标文件,在服务端发送该目标文件至客户端时,客户端会将该目标文件存储在存储文件中。因此,在客户端不存在该历史文件时,则从存储文件中查找当前服务端发送的目标文件;之后,客户端根据类全名从该目标文件中获取到加密文件。在客户端得到该加密文件时,获取配置文件,该配置文件可通过非加密文件中的配置工具获取得到,也可以由服务端单独发送对应的配置文件得到。该配置文件中包括该客户端与服务端协议的解密密钥;客户端解析该配置文件,得到该加密文件对应的解密密钥,根据该解密密钥对加密文件进行解密,即得到原始类文件。具体地,解密方式由原始类文件的加密方式确定,该加密方式包括对称加密和非对称加密,其中,对于对称加密,如AES(Advanced Encryption Standard,高级加密标准)加密算法,其加密和解密所用到的密钥相同,主要适用于常发数据的场合;对于非对称加密,如RSA(RSA algorithm)加密算法,其加密和解密的密钥不同,主要适用于偶发数据的场合。以AES加密算法为例,在根据解密密钥对加密文件进行解密时,获取解密函数,将加密文件和解密密钥作为该解密函数的输入,根据该解密函数输出得到原始类文件。
步骤S204,所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
在本实施例中,在得到原始类文件时,原始类文件并不能直接使用,需要生成该原始类文件对应的核心对象,通过该核心对象才能对原始类文件中的逻辑进行处理。因此,客户端在得到原始类文件时,获取预设适配器,该预设适配器为预先设定的适配器,该预设适配器可由服务端发送的非加密文件中的配置工具得到,也可以由客户端中预先设定的适配器决定。根据该预设适配器自动生成该原始类文件的核心对象。具体地,该预设适配器包括通用适配器和服务适配器,根据该原始类文件中的数据的数据类型,选取不同的预设适配器。在该原始类文件中数据的数据类型为普通类型时,则确定该预设适配器为通用适配器,根据该通用适配器生成该原始类文件对应的核心对象;在该原始类文件中数据的数据类型为业务类型时,则确定该预设适配器为服务适配器,根据该服务适配器生成该原始类文件对应的核心对象。在得到原始类文件对应的核心对象时,客户端对该核心对象的服务请求进行组装,得到组装请求,并发送该组装请求至服务端。
步骤S205,所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
在本实施例中,服务端在接收到该组装请求时,解析该组装请求,并执行该组装请求的请求数据,在服务端对该请求数据处理完成时,即得到该组装请求对应的响应数据。
本申请实现了对传输目标文件中核心数据的加密,使得反编译软件无法查看,只有解密密钥的拥有者才能查看,提高了数据传输的安全性,避免了信息的泄露。
在本实施例的一些可选的实现方式中,上述根据所述类全名从所述目标文件中获取所述加密文件包括:
所述客户端加载存储类路径下的所有存储文件,并获取所述服务端发送的所述目标文件的文件名;
匹配所述存储文件和所述文件名,确定与所述文件名匹配成功的存储文件为所述目标文件,加载所述目标文件,根据所述类全名从所述目标文件的目录中获取到所述加密文件。
在本实施例中,由于客户端中存储有许多与目标文件同样格式的文件,即存储文件,因此在服务端发送该目标文件至客户端后,客户端需要从存储文件中查找到当前服务端发送的目标文件。具体地,客户端加载存储类路径下的所有存储文件,以及目标文件的文件名,该文件名通过服务端预先发送至客户端。在得到所有存储文件和该文件名时,对该文件名和所有的存储文件进行匹配,若该文件名与所有的存储文件中的某一个存储文件匹配成功,该确定该匹配成功的存储文件为当前服务端发送的目标文件;若该文件名与所有的存储文件均匹配失败,则确定当前客户端还未接收到服务端发送的目标文件。
在客户端获取到服务端发送的目标文件时,客户端对该目标文件进行加载,并根据该类全名从该目标文件的目录中获取到加密文件。具体地,该加密文件可通过预设加载器和该类全名从目标文件的目录中得到,该预设加载器为类加载器,如MyClassLoader。客户端在得到目标文件时,获取该预设加载器,执行该预设加载器,调用该预设加载器中的重写(defineclass)方法,通过该重写方法对该类全名和目标文件的目录进行匹配,从目标文件的目录中找到与该类全名匹配的加密文件。
本实施例通过匹配文件名和存储文件,得到目标文件,之后根据类全名从该目标文件中获取到加密文件,实现了对加密文件的精确获取,提高了数据传输的效率和准确率。
在本实施例的一些可选的实现方式中,上述匹配所述存储文件和所述文件名包括:
所述客户端获取预设的正则匹配式;
根据所述正则匹配式匹配所述存储文件和所述文件名,得到所述目标文件。
在本实施例中,正则匹配式是对字符串操作的一种逻辑表达式,其中,字符串包括普通字符和特殊字符,根据预先设定的特定字符和该特定字符的组合,组成一个规则字符串,该规则字符串即为预设的正则表达式。在客户端获取到文件名和存储文件时,获取预设的正则匹配式,根据该预设的正则匹配式,对该文件名和存储文件进行匹配,即得到与该文件名匹配成功的存储文件。
本实施例通过获取正则匹配式,根据该正则匹配式对文件名和存储文件进行匹配,实现了对目标文件的精确获取,进一步提高了数据传输的效率。
在本实施例的一些可选的实现方式中,上述根据预设密钥对所述原始类文件进行加密,得到加密文件包括:
所述服务端获取所述原始类文件的文件大小,根据所述文件大小将所述原始类文件拆分为多个分组文件;
根据所述预设密钥对所述分组文件进行加密,直至所有所述分组文件加密完成,得到所述加密文件。
在本实施例中,在对原始类文件进行加密时,服务端获取原始类文件的文件大小,根据该文件大小将原始类文件拆分为多个分组文件。每组分组文件的长度相等,以高级加密标准(AES,Advanced Encryption Standard)为例,在高级加密标准中,规定分组长度为128位,每组为16个字节。因此,在得到原始类文件时,服务端根据该高级加密标准可以将原始类文件分为多个分组文件。之后,根据预设密钥对分组文件进行一一加密,预设密钥的长度可以为128位、192位或256位。在根据预设密钥对分组文件均加密完成时,即得到该原始类文件对应的加密文件。
本实施例通过对原始类文件进行分组,并对多个分组文件进行加密,提高了文件加密的复杂度,使得加密后的文件更具有安全性,进一步避免了数据的泄露。
在本实施例的一些可选的实现方式中,上述根据所述预设密钥对所述分组文件进行加密包括:
所述服务端获取预设加密函数,将所述预设密钥和所述分组文件作为所述预设加密函数的输入,计算得到所述分组文件对应的子加密文件,所述子加密文件组成所述加密文件。
在本实施例中,在服务端根据预设密钥对分组文件进行加密时,可通过获取预设加密函数对每个分组文件依次进行加密。其中,预设加密函数为预先设定的加密函数,将预设密钥和分组文件作为该预设加密函数的输入,经过该预设加密函数计算,即得到每个分组文件对应的子加密文件。所有的子加密文件组成原始类文件对应的加密文件。
本实施例通过预设加密函数对分组文件进行加密,提高了数据的复杂度,进一步提高了数据加密传输的安全性。
在本实施例的一些可选的实现方式中,上述根据所述预设适配器生成所述原始类文件的核心对象包括:
所述客户端获取所述原始类文件中数据的数据类型,根据所述数据类型确定关联的预设适配器,其中,所述预设适配器包括通用适配器和服务适配器;
在所述数据类型为普通类型时,确定所述预设适配器为所述通用适配器,根据所述通用适配器生成所述原始类文件的核心对象,并赋予所述核心对象属性值;
在所述数据类型为业务类型时,确定所述预设适配器为所述服务适配器,根据所述服务适配器生成所述原始类文件的核心对象。
在本实施例中,原始类文件中不同的数据的数据类型对应不同的预设适配器。具体地,数据类型包括普通类型和业务类型,普通类型对应的数据即为普通方法对应的类数据,没有业务逻辑;业务类型对应的数据则为业务数据服务对应的类数据,包括实际的业务处理逻辑。在客户端对加密文件进行解密,得到原始类文件时,客户端获取该原始类文件中数据的数据类型,若该数据类型为普通类型,则确定该普通类型对应的预设适配器为通用适配器,如POJO(Plain Ordinary Java Object,简单的Java对象)代理适配器;根据该通用适配器中的配置方式,生成该原始类文件对应的核心对象,并赋予该核心对象属性值。若该数据类型为业务类型,则确定该业务数据对应的预设适配器为服务适配器,如service代理,根据该服务适配器中的配置方式,生成该原始类文件对应的核心对象。
本实施例通过获取不同的适配器对原始类文件的核心对象进行生成,使得通过该核心对象对原始类文件中的数据进行处理,进一步实现了对数据对应服务请求的精确传输。
在本实施例的一些可选的实现方式中,在上述确定所述客户端的缓存中是否存在所述类全名对应的历史文件之后,还包括:
在所述缓存中存在所述历史文件时,确定所述历史文件为所述原始类文件;
所述客户端生成所述历史文件对应的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
在本实施例中,在确定客户端的缓存中存在历史文件时,则无需对服务端发送的目标文件进行获取及解密,该历史文件即为服务端发送的目标文件中的原始类文件。此时,客户端直接获取预设适配器,根据该预设适配器生成该历史文件对应的核心对象,并组装该核心对象的服务请求,得到组装请求;而后,客户端将该组装请求发送至服务端,服务端在接收到该组装请求时,处理该组装请求对应的请求数据,即得到响应数据。
本实施例通过在确定客户端缓存中存在历史文件时,直接调用该历史文件,而无需解密,进一步提高了数据传输的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种数据传输系统的一个实施例,该系统实施例与图2所示的方法实施例相对应,该系统具体可以应用于各种电子设备中。
如图3所示,本实施例所述的数据传输系统包括:服务端和客户端。其中:
所述服务端,用于获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至所述客户端;
在本实施例的一些可选的实现方式中,服务端包括:
拆分模块,用于所述服务端获取所述原始类文件的文件大小,根据所述文件大小将所述原始类文件拆分为多个分组文件;
加密模块,用于根据所述预设密钥对所述分组文件进行加密,直至所有所述分组文件加密完成,得到所述加密文件。
在本实施例的一些可选的实现方式中,加密模块包括:
加密单元,用于所述服务端获取预设加密函数,将所述预设密钥和所述分组文件作为所述预设加密函数的输入,计算得到所述分组文件对应的子加密文件,所述子加密文件组成所述加密文件。
在本实施例中,原始类文件为需要加密的类文件,对该原始类文件进行加密得到对应的加密文件,打包该加密文件,即得到目标文件。其中,该目标文件中还可以包括非加密文件,将该加密文件和非加密文件共同打包为目标文件,根据该非加密文件中预设的配置工具可以对加密文件进行加载、加密、解密等操作。具体地,原始类文件为Class类文件,Java程序在运行时,系统一直对所有的对象进行运行时的类型标识,该类型标识记录了每个对象所属的类信息,根据该类信息可以使得虚拟机选择正确的方法去执行。其中,用来保存该类型信息的类即为Class类,一个Class类封装一个对象和接口运行时的状态,即class类中定义了方法和属性。服务端通过目标编译路径可以获取到该目标编译路径下需要加密的原始类文件,在得到该原始类文件时,获取预设密钥。该预设密钥为服务端与客户端预先协议的密钥,服务端根据该预设密钥可以对该原始类文件进行加密得到加密文件。在得到该加密文件时,对该加密文件进行打包即得到对应的目标文件;除此之外,在得到该加密文件时,服务端还可以将预先配置的加载器和适配器等配置工具打包为非加密文件,之后对该加密文件和非加密文件共同进行打包,得到目标文件。最终打包得到的该目标文件即为一个SDK jar包。服务端发送该目标文件至客户端,客户端在接收到该加密文件时,根据该预设密钥对该加密文件进行解密。
需要强调的是,为进一步保证上述原始类文件的私密和安全性,上述原始类文件还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述客户端,用于获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在本实施例中,客户端对加密文件进行解密后,均会将解密后的原始类文件作为历史文件存储在缓存中,因此,在客户端对目标文件进行获取之前,需要对缓存中的存储文件进行查找,确定该缓存中是否存在对应的历史文件。具体地,客户端获取该目标文件中加密文件的类全名,其中,该类全名为加密文件对应的关键词标识,根据该类全名可以查找到该加密文件和该加密文件对应的原始类文件。若客户端曾经对同样的加密文件进行解密过,根据该类全名则可以从缓存中找到该加密文件解密后的历史文件,该历史文件即为该加密文件解密得到的原始类文件。
在客户端获取加密文件对应的类全名时,通过预设代理类可以获取到该类全名。其中,该预设代理类为客户端指定的代理类,根据该代理类可以得到处理实际逻辑的类,之后,根据该处理实际逻辑的类即可得到当前服务端发送的目标文件中加密文件的类全名。在客户端得到该类全名时,若根据该类全名从可以缓存中获取到对应的历史文件,则确定该客户端中存在该目标文件中加密文件对应的原始类文件;若根据该类全名从缓存中无法获取到对应的历史文件,则确定该客户端中不存在该目标文件中加密文件对应的原始类文件。
所述客户端,用于在所述缓存中不存在所述历史文件时,获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
在本实施例的一些可选的实现方式中,客户端包括:
获取模块,用于所述客户端加载存储类路径下的所有存储文件,并获取所述服务端发送的所述目标文件的文件名;
匹配模块,用于匹配所述存储文件和所述文件名,确定与所述文件名匹配成功的存储文件为所述目标文件,加载所述目标文件,根据所述类全名从所述目标文件的目录中获取到所述加密文件。
在本实施例的一些可选的实现方式中,匹配模块包括:
获取单元,用于所述客户端获取预设的正则匹配式;
匹配单元,用于根据所述正则匹配式匹配所述存储文件和所述文件名,得到所述目标文件。
在本实施例中,在客户端的缓存中不存在历史文件时,客户端则获取目标文件,在服务端发送该目标文件至客户端时,客户端会将该目标文件存储在存储文件中。因此,在客户端不存在该历史文件时,则从存储文件中查找当前服务端发送的目标文件;之后,客户端根据类全名从该目标文件中获取到加密文件。在客户端得到该加密文件时,获取配置文件,该配置文件可通过非加密文件中的配置工具获取得到,也可以由服务端单独发送对应的配置文件得到。该配置文件中包括该客户端与服务端协议的解密密钥;客户端解析该配置文件,得到该加密文件对应的解密密钥,根据该解密密钥对加密文件进行解密,即得到原始类文件。具体地,解密方式由原始类文件的加密方式确定,该加密方式包括对称加密和非对称加密,其中,对于对称加密,如AES(Advanced Encryption Standard,高级加密标准)加密算法,其加密和解密所用到的密钥相同,主要适用于常发数据的场合;对于非对称加密,如RSA(RSA algorithm)加密算法,其加密和解密的密钥不同,主要适用于偶发数据的场合。以AES加密算法为例,在根据解密密钥对加密文件进行解密时,获取解密函数,将加密文件和解密密钥作为该解密函数的输入,根据该解密函数输出得到原始类文件。
所述客户端,用于获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
在本实施例的一些可选的实现方式中,客户端还包括:
确认模块,用于所述客户端获取所述原始类文件中数据的数据类型,根据所述数据类型确定关联的预设适配器,其中,所述预设适配器包括通用适配器和服务适配器;
第一生成模块,用于在所述数据类型为普通类型时,确定所述预设适配器为所述通用适配器,根据所述通用适配器生成所述原始类文件的核心对象,并赋予所述核心对象属性值;
第二生成模块,用于在所述数据类型为业务类型时,确定所述预设适配器为所述服务适配器,根据所述服务适配器生成所述原始类文件的核心对象。
在本实施例中,在得到原始类文件时,原始类文件并不能直接使用,需要生成该原始类文件对应的核心对象,通过该核心对象才能对原始类文件中的逻辑进行处理。因此,客户端在得到原始类文件时,获取预设适配器,该预设适配器为预先设定的适配器,该预设适配器可由服务端发送的非加密文件中的配置工具得到,也可以由客户端中预先设定的适配器决定。根据该预设适配器自动生成该原始类文件的核心对象。具体地,该预设适配器包括通用适配器和服务适配器,根据该原始类文件中的数据的数据类型,选取不同的预设适配器。在该原始类文件中数据的数据类型为普通类型时,则确定该预设适配器为通用适配器,根据该通用适配器生成该原始类文件对应的核心对象;在该原始类文件中数据的数据类型为业务类型时,则确定该预设适配器为服务适配器,根据该服务适配器生成该原始类文件对应的核心对象。在得到原始类文件对应的核心对象时,客户端对该核心对象的服务请求进行组装,得到组装请求,并发送该组装请求至服务端。
所述服务端,用于在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
在本实施例中,服务端在接收到该组装请求时,解析该组装请求,并执行该组装请求的请求数据,在服务端对该请求数据处理完成时,即得到该组装请求对应的响应数据。
在本实施例的一些可选的实现方式中,上述客户端还包括:
缓存模块,用于在所述缓存中存在所述历史文件时,确定所述历史文件为所述原始类文件;
组装模块,用于所述客户端生成所述历史文件对应的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
响应模块,用于所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
在本实施例中,在确定客户端的缓存中存在历史文件时,则无需对服务端发送的目标文件进行获取及解密,该历史文件即为服务端发送的目标文件中的原始类文件。此时,客户端直接获取预设适配器,根据该预设适配器生成该历史文件对应的核心对象,并组装该核心对象的服务请求,得到组装请求;而后,客户端将该组装请求发送至服务端,服务端在接收到该组装请求时,处理该组装请求对应的请求数据,即得到响应数据。
本实施例提出的数据传输系统,实现了对传输目标文件中核心数据的加密,使得反编译软件无法查看,只有解密密钥的拥有者才能查看,提高了数据传输的安全性,避免了信息的泄露。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如数据传输方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述数据传输方法的计算机可读指令。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,实现了对传输目标文件中核心数据的加密,使得反编译软件无法查看,只有解密密钥的拥有者才能查看,提高了数据传输的安全性,避免了信息的泄露。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据传输方法的步骤。
本实施例提出的计算机可读存储介质,实现了对传输目标文件中核心数据的加密,使得反编译软件无法查看,只有解密密钥的拥有者才能查看,提高了数据传输的安全性,避免了信息的泄露。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (9)
1.一种数据传输方法,其特征在于,包括下述步骤:
服务端获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至客户端;
所述客户端获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
在所述缓存中不存在所述历史文件时,所述客户端获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据;
其中,所述根据所述预设适配器生成所述原始类文件的核心对象的步骤包括:
所述客户端获取所述原始类文件中数据的数据类型,根据所述数据类型确定关联的预设适配器,其中,所述预设适配器包括通用适配器和服务适配器;
在所述数据类型为普通类型时,确定所述预设适配器为所述通用适配器,根据所述通用适配器生成所述原始类文件的核心对象,并赋予所述核心对象属性值;
在所述数据类型为业务类型时,确定所述预设适配器为所述服务适配器,根据所述服务适配器生成所述原始类文件的核心对象。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述类全名从所述目标文件中获取所述加密文件的步骤包括:
所述客户端加载存储类路径下的所有存储文件,并获取所述服务端发送的所述目标文件的文件名;
匹配所述存储文件和所述文件名,确定与所述文件名匹配成功的存储文件为所述目标文件,加载所述目标文件,根据所述类全名从所述目标文件的目录中获取到所述加密文件。
3.根据权利要求2所述的数据传输方法,其特征在于,所述匹配所述存储文件和所述文件名的步骤包括:
所述客户端获取预设的正则匹配式;
根据所述正则匹配式匹配所述存储文件和所述文件名,得到所述目标文件。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据预设密钥对所述原始类文件进行加密,得到加密文件的步骤包括:
所述服务端获取所述原始类文件的文件大小,根据所述文件大小将所述原始类文件拆分为多个分组文件;
根据所述预设密钥对所述分组文件进行加密,直至所有所述分组文件加密完成,得到所述加密文件。
5.根据权利要求4所述的数据传输方法,其特征在于,所述根据所述预设密钥对所述分组文件进行加密的步骤包括:
所述服务端获取预设加密函数,将所述预设密钥和所述分组文件作为所述预设加密函数的输入,计算得到所述分组文件对应的子加密文件,所述子加密文件组成所述加密文件。
6.根据权利要求1所述的数据传输方法,其特征在于,在所述确定所述客户端的缓存中是否存在所述类全名对应的历史文件的步骤之后,还包括:
在所述缓存中存在所述历史文件时,确定所述历史文件为所述原始类文件;
所述客户端生成所述历史文件对应的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端;
所述服务端在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
7.一种数据传输系统,其特征在于,所述数据传输系统包括服务端和客户端,其中:
所述服务端,用于获取目标编译路径的原始类文件,根据预设密钥对所述原始类文件进行加密,得到加密文件,打包所述加密文件,得到目标文件,发送所述目标文件至所述客户端;
所述客户端,用于获取所述加密文件对应的类全名,确定所述客户端的缓存中是否存在所述类全名对应的历史文件;
所述客户端,用于在所述缓存中不存在所述历史文件时,获取所述目标文件,根据所述类全名从所述目标文件中获取所述加密文件,并获取配置的解密密钥,根据所述解密密钥对所述加密文件进行解密,得到所述原始类文件;
所述客户端,用于获取预设适配器,根据所述预设适配器生成所述原始类文件的核心对象,组装所述核心对象的服务请求,得到组装请求,发送所述组装请求至所述服务端,其中,所述客户端还包括确认模块、第一生成模块和第二生成模块;
所述确认模块,用于所述客户端获取所述原始类文件中数据的数据类型,根据所述数据类型确定关联的预设适配器,其中,所述预设适配器包括通用适配器和服务适配器;
第一生成模块,用于在所述数据类型为普通类型时,确定所述预设适配器为所述通用适配器,根据所述通用适配器生成所述原始类文件的核心对象,并赋予所述核心对象属性值;
第二生成模块,用于在所述数据类型为业务类型时,确定所述预设适配器为所述服务适配器,根据所述服务适配器生成所述原始类文件的核心对象;
所述服务端,用于在接收到所述组装请求时,处理所述组装请求对应的请求数据,得到响应数据。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的数据传输方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的数据传输方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757359.3A CN113489723B (zh) | 2021-07-05 | 2021-07-05 | 数据传输方法、系统、计算机设备及存储介质 |
PCT/CN2022/071873 WO2023279698A1 (zh) | 2021-07-05 | 2022-01-13 | 数据传输方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757359.3A CN113489723B (zh) | 2021-07-05 | 2021-07-05 | 数据传输方法、系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489723A CN113489723A (zh) | 2021-10-08 |
CN113489723B true CN113489723B (zh) | 2022-11-22 |
Family
ID=77940793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757359.3A Active CN113489723B (zh) | 2021-07-05 | 2021-07-05 | 数据传输方法、系统、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113489723B (zh) |
WO (1) | WO2023279698A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489723B (zh) * | 2021-07-05 | 2022-11-22 | 平安科技(深圳)有限公司 | 数据传输方法、系统、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007094728A (ja) * | 2005-09-28 | 2007-04-12 | Digital Electronics Corp | 情報処理装置、情報処理システム、プログラムおよび記録媒体 |
CN103778382A (zh) * | 2014-01-16 | 2014-05-07 | 宇龙计算机通信科技(深圳)有限公司 | 加密文件的访问方法及通信终端 |
CN104657635A (zh) * | 2013-11-20 | 2015-05-27 | 方正信息产业控股有限公司 | 一种应用处理方法、装置和服务器 |
CN105022936A (zh) * | 2014-04-30 | 2015-11-04 | 北京畅游天下网络技术有限公司 | 一种类class文件加密解密方法和装置 |
CN112395564A (zh) * | 2020-11-17 | 2021-02-23 | 平安普惠企业管理有限公司 | 类文件的保护与运行方法、装置、设备及存储介质 |
CN113032741A (zh) * | 2021-04-20 | 2021-06-25 | 江苏保旺达软件技术有限公司 | 类文件加密方法、类文件运行方法、装置、设备及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757899B2 (en) * | 2001-10-11 | 2004-06-29 | Harris Corporation | Dynamic CORBA gateway for CORBA and non-CORBA clients and services |
TW201225582A (en) * | 2010-12-02 | 2012-06-16 | Inst Information Industry | Common server, adaptor, and data conforming method thereof |
KR20140034222A (ko) * | 2011-05-14 | 2014-03-19 | 비트카사, 인코포레이티드 | 사용자-독립적인 암호화된 파일들의 서버측 중복제거를 하는 클라우드 파일 시스템 |
CN103812871B (zh) * | 2014-02-24 | 2017-03-22 | 北京明朝万达科技股份有限公司 | 一种基于移动终端应用程序安全应用的开发方法及系统 |
CN107066842A (zh) * | 2017-03-28 | 2017-08-18 | 福建天晴在线互动科技有限公司 | 一种加固sdk项目的方法及系统 |
CN111832014B (zh) * | 2020-07-02 | 2024-02-13 | 北京智游网安科技有限公司 | 基于动态加载的Java SDK代码加解密方法及终端 |
CN112966229A (zh) * | 2021-05-14 | 2021-06-15 | 支付宝(杭州)信息技术有限公司 | 安全运行sdk的方法及装置 |
CN113489723B (zh) * | 2021-07-05 | 2022-11-22 | 平安科技(深圳)有限公司 | 数据传输方法、系统、计算机设备及存储介质 |
-
2021
- 2021-07-05 CN CN202110757359.3A patent/CN113489723B/zh active Active
-
2022
- 2022-01-13 WO PCT/CN2022/071873 patent/WO2023279698A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007094728A (ja) * | 2005-09-28 | 2007-04-12 | Digital Electronics Corp | 情報処理装置、情報処理システム、プログラムおよび記録媒体 |
CN104657635A (zh) * | 2013-11-20 | 2015-05-27 | 方正信息产业控股有限公司 | 一种应用处理方法、装置和服务器 |
CN103778382A (zh) * | 2014-01-16 | 2014-05-07 | 宇龙计算机通信科技(深圳)有限公司 | 加密文件的访问方法及通信终端 |
CN105022936A (zh) * | 2014-04-30 | 2015-11-04 | 北京畅游天下网络技术有限公司 | 一种类class文件加密解密方法和装置 |
CN112395564A (zh) * | 2020-11-17 | 2021-02-23 | 平安普惠企业管理有限公司 | 类文件的保护与运行方法、装置、设备及存储介质 |
CN113032741A (zh) * | 2021-04-20 | 2021-06-25 | 江苏保旺达软件技术有限公司 | 类文件加密方法、类文件运行方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
改进的Java类文件保护方法;鲍福良等;《计算机工程》;20090131;第35卷(第01期);第93-94页 * |
适配器模式之类适配器与对象适配器的区别及代码;ai-exception;《CSDN,网址:https://blog.csdn.net/qq_36982160/article/details/79965027》;20180416;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113489723A (zh) | 2021-10-08 |
WO2023279698A1 (zh) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111492624B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN111475824B (zh) | 数据访问方法、装置、设备和存储介质 | |
CN114218592A (zh) | 敏感数据的加解密方法、装置、计算机设备及存储介质 | |
CN109344631B (zh) | 区块链的数据修改及区块验证方法、装置、设备和介质 | |
CN111131278B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN102171652A (zh) | 为电子装置提供可信软件的方法 | |
US20200213331A1 (en) | Data service system | |
CN111343170B (zh) | 电子签约方法及系统 | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN108566368B (zh) | 一种数据处理方法、服务器及诊断接头 | |
CN112637156B (zh) | 密钥分配方法、装置、计算机设备和存储介质 | |
CN111628863B (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
CN112733180A (zh) | 数据查询方法、装置和电子设备 | |
CN113489723B (zh) | 数据传输方法、系统、计算机设备及存储介质 | |
CN111414640A (zh) | 秘钥访问控制方法和装置 | |
EP3610401B1 (en) | Storing data on target data processing devices | |
CN110602051B (zh) | 基于共识协议的信息处理方法及相关装置 | |
CN115589316A (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
CN113676446B (zh) | 通信网络安全防误控制方法、系统、电子设备及介质 | |
CN110995440B (zh) | 工作履历确认方法、装置、设备以及存储介质 | |
CN112491777B (zh) | 跨区块链身份认证方法、计算机设备及可读存储介质 | |
CN113141329A (zh) | 大数据挖掘方法、装置、设备和存储介质 | |
TWM591647U (zh) | 能夠安全地存取及刪除資料的資料管理系統 | |
US11972002B2 (en) | Method of logging in to operating system, electronic device and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055402 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |