CN112437060A - 一种数据传输方法、装置、计算机设备及存储介质 - Google Patents
一种数据传输方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112437060A CN112437060A CN202011255368.4A CN202011255368A CN112437060A CN 112437060 A CN112437060 A CN 112437060A CN 202011255368 A CN202011255368 A CN 202011255368A CN 112437060 A CN112437060 A CN 112437060A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- huffman
- dictionary
- encryption algorithm
- 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.)
- Granted
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据传输方法、装置、计算机设备及存储介质,该方法包括:服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;将待传输数据进行切词处理,生成待传输数据对应的多个词组;基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典;根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息;根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。因此,采用本申请实施例,可以降低数据传输时需要耗费的网络宽带。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据传输方法、装置、计算机设备及存储介质。
背景技术
数据进行加密传输是数据安全领域重要的技术,随着大数据时代的带来,数据安全问题越来越受到人们的重视,尤其在金融领域,例如:客户的敏感信息,金融信息系统的访问权限,交易量化敏感信息加密等。敏感信息的泄露不仅会给企业的运营造成损失,更重要的是会影响企业声誉,因此在现代互联网行业,尤其金融保险行业,做好敏感数据的加密和快速传输至关重要。
目前对敏感数据的加密和快速传输中对以对数据的加密为主要目的,在数据加密中,首先发送端完成对敏感数据的加密操作生成密文数据,并将密文数据发送到接收端,接收端使用发送端加密敏感数据时使用的密钥对密文数据进行解密操作。由于针对敏感信息加密时使用了加密数据,使得加密后的敏感信息对应的密文字节数大于加密前的敏感信息对应的字节数,从而导致加密后的敏感信息在传输时需要耗费大量的网络宽带。
发明内容
基于此,有必要针对加密后的敏感信息在传输时需要耗费大量的网络宽带的问题,提供一种数据传输方法、装置、计算机设备及存储介质。
一种数据传输方法,应用于服务端,所述数据传输方法包括:当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。
在其中一个实施例中,所述根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,包括:加载预设加密算法表;获取所述加密算法表中各加密算法的优先级,并基于所述优先级的高低顺序在所述各加密算法中确定出最优加密算法;以及确定当前时刻的动态加密密钥。
在其中一个实施例中,所述获取所述加密算法表中各加密算法的优先级,包括:获取所述加密算法表中各加密算法指示的设定时间;基于所述设定时间距离当前时间的时长确定所述各加密算法的优先级。
在其中一个实施例中,所述获取所述加密算法表中各加密算法的优先级,包括:获取所述加密算法表中各加密算法的使用频率;基于所述各加密算法的使用频率确定所述各加密算法的优先级。
在其中一个实施例中,所述基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典,包括:统计所述待传输数据对应的多个词组中各词组的词频,生成词频词典;从所述词频词典中抽取至少两组词频最小的词组;将所述至少两组词频最小的词组进行合并,生成所述至少两组词频最小的词组对应的哈夫曼树;从所述词频词典中剔除所述至少两组词频最小的词组,并将所述至少两组词频最小的词组对应的哈夫曼树加入所述词频词典;继续执行所述从词频词典中抽取至少两组词频最小的词组的步骤,当所述词频词典中的词组关联成为一个整体时,生成待传输数据的哈夫曼树;获取所述待传输数据的哈夫曼树中多个叶子节点的路径,生成待传输数据的哈夫曼词典。
在其中一个实施例中,所述动态加密密钥,包括:解析所述待传输数据,获取所述待传输数据的加密等级;基于所述加密数据的加密等级生成动态加密密钥。
一种数据传输方法,应用于客户端,所述方法包括:接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
一种数据传输装置,应用于服务端,所述装置包括:加密算法确定模块,用于当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;词组生成模块,用于根据预设哈夫曼编码将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;哈夫曼词典生成模块,用于基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;编码信息生成模块,用于根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;加密后的哈夫曼词典生成模块,用于根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;数据发送模块,用于将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述数据传输方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述数据传输方法的步骤。
上述所述数据传输方法、装置、计算机设备和存储介质,服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,再将待传输数据进行切词处理,生成待传输数据对应的多个词组,再基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典,然后根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息,再根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典,最后将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。在客户端接收待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥后,根据动态加密密钥对加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典,最后基于解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码。由于本申请通过在哈夫曼编码阶段使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分并编码,并对切分后得到的编码词典使用基于优先级选择的算法进行加密解密处理,提升了加密的级别,同时引入哈夫曼编码的方法,对传输文本进行编码压缩,减少了网络传输带宽。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请一个实施例中提供的数据传输方法的实施环境图;
图2为本申请一个实施例中计算机设备的内部结构示意图;
图3为本申请一个实施例中提供的数据传输方法的方法示意图;
图4为本申请一个实施例中提供的数据传输过程的过程示意图;
图5是本申请实施例提供的一种数据传输装置的装置示意图;
图6是本申请实施例提供的另一种数据传输装置的装置示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的数据传输方法的实施环境图,如图1所示,在该实施环境中,包括服务器110以及客户端120。
服务器110为服务端设备,例如为待传输的敏感数据进行加密等操作的服务器设备,服务器110上安装有数据加密工具。客户端120上安装有需要针对待传输任务对应的数据进行解密等操作的应用,当需要数据加密时,待传输的敏感数据可以在服务器110进行数据加密,服务器110当检测到存在待传输数据时,服务器110根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,服务器110再将待传输数据进行切词处理,生成待传输数据对应的多个词组,服务器110再基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典,服务器110然后根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息,服务器110再根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典,服务器110最后将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。在客户端120接收待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥后,客户端120根据动态加密密钥对加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典,客户端120最后基于解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码,解码后生成明文数据。
需要说明的是,客户端120可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器110以及客户端120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据传输方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据传输方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面将结合附图3-附图4,对本申请实施例提供的数据传输方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的数据传输装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图3,为本申请实施例提供了一种数据传输方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤:
S101,当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;
其中,服务端是在网络中为其它客户机提供计算或者应用服务的设备。待传输数据是向服务端发送的传输数据。预设加密算法表是用户提前配置到服务端供服务端选择的加密算法表,最优加密算法是服务端从加密算法表中确定出的最优加密算法,动态加密密钥是服务端根据当前时间以及传输数据的保密等级确定的加密字段。
在一种可能的实现方式中,当服务端检测到需要进行加密传输的敏感数据时,服务端首先加载用户预先配置的加密算法表,服务端然后获取加密算法表中各加密算法的优先级,并基于优先级的高低顺序在各加密算法中确定出最优加密算法,并确定出当前时刻的动态加密密钥,本申请实施例中通过优先级确定最优加密算法对后续生成的哈夫曼词典进行加密,使得进一步提升了敏感信息传输的加密强度。
进一步地,服务端在确定动态加密密钥时,首先解析待传输数据,获取到待传输数据的加密等级,最后根据获取的加密等级生成当前时刻的动态加密密钥。例如,待传输数据的保密等级为一级保密时,可通过当前时间以及随机数生成动态加密密钥,当待传输数据保密等级为二级时,可通过当前时间或随机数生成动态加密密钥。本申请通过针对不同的传输数据,可得到不一样的加密密钥,从而加强了加密数据的加密强度。
进一步地,服务端在确定加密算法表中的各加密算法的优先级时,在一种可行的实现方式中,首先获取加密算法表中各加密算法指示的设定时间,最后根据设定时间距离当前时间的时长确定各加密算法的优先级。例如,获取加密算法表中各加密算法的设置时间,通过设置时间和当前时刻进行做差得到各算法设定的时间间隔,选取时间间隔最小的加密算法最为最优加密算法进行加密操作。本申请通过计算加密算法表中各算法的设定时间选取最优的加密算法,保证了加密强度更加高。在另一种可行的实现方式中,首先获取加密算法表中各加密算法的使用频率,最后基于各加密算法的使用频率确定所述各加密算法的优先级。例如,首先获取加密算法表中各加密算法的使用频率,根据每个加密算法的使用频率数据确定出使用频率最小的加密算法,最后将使用频率最少的加密算法确定为当前最优的加密算法。本申请通过加密算法表中各算法的使用频率选取最优的加密算法,保障了加密强度更高。
需要说明的是,服务端确定各加密算法优先级的方式可根据实际应用场景进行确定,此处不做限定。
S102,将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;
其中,切词处理是将待传输的数据切分成词,即将待传输数据分了多个词组,从而得到了待传输数据的多个词组。
通常,传统的基于字符的编码会将信息拆分的特别细,这样就会造成哈夫曼编解码词典(记录更多的字典信息)及哈夫曼编码树较大(比如两个字的词使用词编码只需要一个叶子节点,使用字符编码就需要两个),本申请使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分,对切分后得到的编码词典进行加密处理,使得进一步提升了敏感信息传输的加密强度。
在一种可能的实现方式中,在服务端根据步骤S101确定出最优加密算法以及当前时刻的动态加密密钥时,服务端将待传输的数据通过切词工具进行处理,处理结束后得到待传输敏感数据的多个词组。
具体为当服务端确定出最优加密算法以及当前时刻的动态加密密钥时,可以根据切词工具对待传输的敏感信息进行切词处理,将待传输的敏感数据切分为很多个词组,以便后续利用待传输敏感信息的多个词组生成待传输数据的哈夫曼词典。
S103,基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;
其中,哈夫曼词典是哈夫曼编码时生成的辅助工具。
在本申请实施例中,服务端首先统计待传输数据对应的多个词组中各词组的词频,生成词频词典,再从词频词典中抽取至少两组词频最小的词组,再将至少两组词频最小的词组进行合并,生成至少两组词频最小的词组对应的哈夫曼树,然后从词频词典中剔除所述至少两组词频最小的词组,并将至少两组词频最小的词组对应的哈夫曼树加入词频词典,最后继续执行从词频词典中抽取至少两组词频最小的词组的步骤,当词频词典中的词组关联成为一个整体时,生成待传输数据的哈夫曼树,以及获取待传输数据的哈夫曼树中多个叶子节点的路径,生成待传输数据的哈夫曼词典。
在一种可能的实现方式中,首先(a)对待传输数据进行切词处理(将待传输数据切分成词),再(b)统计每个词的词频形成词频词典(词为key,词频为value)集合S,然后(c)每个词作为单独的空节点树,选出词频最小的两个词进行合并生成一棵树T(左节点不大于右节点词频),T树此时的节点词频为两个子节点之和,再(d)从集合后S中移除选出的两个词,并将T作为“中间词频”加入S,再(e)重复(c)步骤,直到集合S的词个数为1,此时生成待传输敏感信息的Huffma树Tf,最后(f)根据Tf获取每个叶子节点的路径,形成待传输敏感信息的Huffman词典Df。
进一步的,“直到集合S的词个数为1”是指从叶节点逐步结合,起初形成多个树,接下来是树的结合,所有树结合完后形成一棵树,即哈夫曼树。此时集合中的元素为1。
其中,本方案采用“左节点不大于右节点词频”,为保持编解码的一致性,以二叉树的形式形成哈夫曼树,借助而二叉树的特性,加快编解码的匹配效率。
S104,根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;
通常,对所述待传输数据进行压缩编码称为哈夫曼编码(Huffman Coding),哈夫曼编码依据字符出现概率来构造异字头的平均长度最短的码字,本申请根据词组出现的概率来构造异字头的平均长度最短的码字。
在一种可能的实现方式中,在基于步骤S103得到待传输数据的哈夫曼词典后,使用可加密解密的算法对Huffman词典Df进行单独加密(例如使用AES加密算法进行实现):从而得到了敏感信息的编码Cf,再使用AES算法,对Huffman词典Df进行加密生成加密后的词典De。
S105,根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;
具体可参见步骤S104,此处不再赘述。
S106,将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端;
在本申请实施例中,当服务端检测到存在待传输数据时,首先从预先设定的加密算法表中确定出某一个加密算法,并确定出当前时刻对应的动态加密密钥。此处确定出加密算法和动态加密密钥用于对待传输数据生成的哈夫曼词典进行加密操作。在确定出加密算法和动态加密密钥后,根据哈夫曼编码的思想对待传输数据进行切词处理(例如,如果待传输数据为文本数据时将文本切分成词),生成了待传输数据的多个词组,再根据生成的多个词组处理后得到待传输数据对应的哈夫曼词典,然后通过生成的哈夫曼词典对待传输数据进行编码后得到编码信息,再使用确定出的加密算法和动态加密密钥对哈夫曼词典进行加密操作后得到加密后的哈夫曼词典,最后将编码后得到编码信息、加密后的哈夫曼词典以及动态加密密钥发送至客户端。
本申请通过在哈夫曼编码阶段使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分,对切分后得到的编码词典进行加密处理,进一步的加强敏感信息的加密强度,相比传统的基于字符的哈夫曼编码方式,本文基于词的编码方式可进一步提升哈夫曼编码的压缩率,从而减少网络传输带宽。
S107,接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;
其中,客户端即用户端的电子设备,是指与服务端相对应,可以为客户提供本地服务的相关程序。
在本申请实施例中,此处以客户端作为执行主体进行解密操作。在进行解密操作时,首先需要接收客户端发送来的待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥。
S108,根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;
在一种可能的实现方式中,客户端接收服务端发送来的待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥,客户端根据动态加密密钥对哈夫曼词典进行解密,得到解密后的哈夫曼词典,最后根据解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码得到待传输数据的明文数据。
S109,基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
例如图4所示,图4是本申请实施例提供的一种数据传输的过程示意图,首先服务端检测到敏感数据时,生成敏感数据的哈夫曼树,获取哈夫曼树的每个叶子节点的路径,形成待传输敏感信息的哈夫曼编解码字典,使用密钥对字典加密后生成加密字典,并使用字典对敏感数据进行哈夫曼编码,最后将加密字典、编码信息以及动态加密密钥发送至客户端,客户端接收数据并根据动态加密密钥解析出敏感信息的Huffman词典,然后感信息的Huffman词典对敏感信息的编码进行Huffman解码获取传输的敏感信息。
在本申请实施例中,服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,再将待传输数据进行切词处理,生成待传输数据对应的多个词组,再基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典,然后根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息,再根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典,最后将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。在客户端接收待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥后,根据动态加密密钥对加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典,最后基于解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码。由于本申请通过在哈夫曼编码阶段使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分并编码,并对切分后得到的编码词典使用基于优先级选择的算法进行加密解密处理,提升了加密的级别,同时引入哈夫曼编码的方法,对传输文本进行编码压缩,减少了网络传输带宽。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图5,其示出了本发明一个示例性实施例提供的数据传输装置的结构示意图,应用于服务端。该数据传输系统可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。该装置1包括加密算法确定模块10、词组生成模块20、哈夫曼词典生成模块30、编码信息生成模块40、加密后的哈夫曼词典生成模块50、数据发送模块60。
加密算法确定模块10,用于当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;
词组生成模块20,用于根据预设哈夫曼编码将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;
哈夫曼词典生成模块30,用于基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;
编码信息生成模块40,用于根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;
加密后的哈夫曼词典生成模块50,用于根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;
数据发送模块60,用于将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。
请参见图6,其示出了本发明一个示例性实施例提供的数据传输装置的结构示意图,应用于客户端。该数据传输系统可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。该装置2包括数据接收模块10、数据解析模块20、数据解码模块30。
数据接收模块10,接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;
数据解析模块20,用于根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;
数据解码模块30,用于基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
需要说明的是,上述实施例提供的数据传输系统在执行数据传输方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输系统与数据传输方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,再将待传输数据进行切词处理,生成待传输数据对应的多个词组,再基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典,然后根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息,再根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典,最后将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。在客户端接收待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥后,根据动态加密密钥对加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典,最后基于解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码。由于本申请通过在哈夫曼编码阶段使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分并编码,并对切分后得到的编码词典使用基于优先级选择的算法进行加密解密处理,提升了加密的级别,同时引入哈夫曼编码的方法,对传输文本进行编码压缩,减少了网络传输带宽。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;服务端将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;服务端基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;服务端根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;服务端根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;服务端将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。客户端接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;客户端根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;客户端基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
在一个实施例中,所述处理器所执行的服务端获取所述加密算法表中各加密算法的优先级,包括:服务端获取所述加密算法表中各加密算法指示的设定时间;服务端基于所述设定时间距离当前时间的时长确定所述各加密算法的优先级。
在一个实施例中,所述处理器所执行的服务端所述获取所述加密算法表中各加密算法的优先级,包括:服务端获取所述加密算法表中各加密算法的使用频率;服务端基于所述各加密算法的使用频率确定所述各加密算法的优先级。
在一个实施例中,所述处理器所执行的服务端所述基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典,包括:统计所述待传输数据对应的多个词组中各词组的词频,生成词频词典;从所述词频词典中抽取至少两组词频最小的词组;将所述至少两组词频最小的词组进行合并,生成所述至少两组词频最小的词组对应的哈夫曼树;从所述词频词典中剔除所述至少两组词频最小的词组,并将所述至少两组词频最小的词组对应的哈夫曼树加入所述词频词典;继续执行所述从词频词典中抽取至少两组词频最小的词组的步骤,当所述词频词典中的词组关联成为一个整体时,生成待传输数据的哈夫曼树;获取所述待传输数据的哈夫曼树中多个叶子节点的路径,生成待传输数据的哈夫曼词典。
在一个实施例中,所述处理器所执行的服务端生成所述动态加密密钥,包括:服务端解析所述待传输数据,获取所述待传输数据的加密等级;服务端基于所述加密数据的加密等级生成动态加密密钥。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;服务端将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;服务端基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;服务端根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;服务端根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;服务端将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。客户端接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;客户端根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;客户端基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
在一个实施例中,所述处理器所执行的服务端获取所述加密算法表中各加密算法的优先级,包括:服务端获取所述加密算法表中各加密算法指示的设定时间;服务端基于所述设定时间距离当前时间的时长确定所述各加密算法的优先级。
在一个实施例中,所述处理器所执行的服务端所述获取所述加密算法表中各加密算法的优先级,包括:服务端获取所述加密算法表中各加密算法的使用频率;服务端基于所述各加密算法的使用频率确定所述各加密算法的优先级。
在一个实施例中,所述处理器所执行的服务端所述基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典,包括:统计所述待传输数据对应的多个词组中各词组的词频,生成词频词典;从所述词频词典中抽取至少两组词频最小的词组;将所述至少两组词频最小的词组进行合并,生成所述至少两组词频最小的词组对应的哈夫曼树;从所述词频词典中剔除所述至少两组词频最小的词组,并将所述至少两组词频最小的词组对应的哈夫曼树加入所述词频词典;继续执行所述从词频词典中抽取至少两组词频最小的词组的步骤,当所述词频词典中的词组关联成为一个整体时,生成待传输数据的哈夫曼树;获取所述待传输数据的哈夫曼树中多个叶子节点的路径,生成待传输数据的哈夫曼词典。
在一个实施例中,所述处理器所执行的服务端生成所述动态加密密钥,包括:服务端解析所述待传输数据,获取所述待传输数据的加密等级;服务端基于所述加密数据的加密等级生成动态加密密钥。
在本申请实施例中,服务端当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,再将待传输数据进行切词处理,生成待传输数据对应的多个词组,再基于待传输数据对应的多个词组生成待传输数据的哈夫曼词典,然后根据哈夫曼词典对待传输数据进行压缩编码,生成待传输数据的编码信息,再根据最优加密算法以及当前时刻的动态加密密钥对待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典,最后将待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。在客户端接收待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥后,根据动态加密密钥对加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典,最后基于解析后的哈夫曼词典对待传输数据的编码信息进行哈夫曼解码。由于本申请通过在哈夫曼编码阶段使用基于词的哈夫曼编码方式对待传输的敏感信息进行了切分并编码,并对切分后得到的编码词典使用基于优先级选择的算法进行加密解密处理,提升了加密的级别,同时引入哈夫曼编码的方法,对传输文本进行编码压缩,减少了网络传输带宽。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据传输方法,应用于服务端,其特征在于,所述方法包括:
当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;
将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;
基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;
根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;
根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;
将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥,包括:
加载预设加密算法表;
获取所述加密算法表中各加密算法的优先级,并基于所述优先级的高低顺序在所述各加密算法中确定出最优加密算法;以及
确定当前时刻的动态加密密钥。
3.根据权利要求2所述的方法,其特征在于,所述获取所述加密算法表中各加密算法的优先级,包括:
获取所述加密算法表中各加密算法指示的设定时间;
基于所述设定时间距离当前时间的时长确定所述各加密算法的优先级。
4.根据权利要求2所述的方法,其特征在于,所述获取所述加密算法表中各加密算法的优先级,包括:
获取所述加密算法表中各加密算法的使用频率;
基于所述各加密算法的使用频率确定所述各加密算法的优先级。
5.根据权利要求1所述的方法,其特征在于,所述基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典,包括:
统计所述待传输数据对应的多个词组中各词组的词频,生成词频词典;
从所述词频词典中抽取至少两组词频最小的词组;
将所述至少两组词频最小的词组进行合并,生成所述至少两组词频最小的词组对应的哈夫曼树;
从所述词频词典中剔除所述至少两组词频最小的词组,并将所述至少两组词频最小的词组对应的哈夫曼树加入所述词频词典;
继续执行所述从词频词典中抽取至少两组词频最小的词组的步骤,当所述词频词典中的词组关联成为一个整体时,生成待传输数据的哈夫曼树;
获取所述待传输数据的哈夫曼树中多个叶子节点的路径,生成待传输数据的哈夫曼词典。
6.根据权利要求1所述的方法,其特征在于,所述动态加密密钥,包括:
解析所述待传输数据,获取所述待传输数据的加密等级;
基于所述加密数据的加密等级生成动态加密密钥。
7.一种数据传输方法,应用于客户端,其特征在于,所述方法包括:
接收所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥;
根据所述动态加密密钥对所述加密后的哈夫曼词典进行解析,生成解析后的哈夫曼词典;
基于所述解析后的哈夫曼词典对所述待传输数据的编码信息进行哈夫曼解码。
8.一种数据传输装置,应用于服务端,其特征在于,所述装置包括:
加密算法确定模块,用于当检测到存在待传输数据时,根据预设加密算法表确定出最优加密算法以及当前时刻的动态加密密钥;
词组生成模块,用于根据预设哈夫曼编码将所述待传输数据进行切词处理,生成待传输数据对应的多个词组;
哈夫曼词典生成模块,用于基于所述待传输数据对应的多个词组生成待传输数据的哈夫曼词典;
编码信息生成模块,用于根据所述哈夫曼词典对所述待传输数据进行压缩编码,生成待传输数据的编码信息;
加密后的哈夫曼词典生成模块,用于根据所述最优加密算法以及当前时刻的动态加密密钥对所述待传输数据的哈夫曼词典进行加密,生成加密后的哈夫曼词典;
数据发送模块,用于将所述待传输数据的编码信息、加密后的哈夫曼词典以及当前时刻的动态加密密钥发送至客户端。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述数据传输方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述数据传输的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255368.4A CN112437060B (zh) | 2020-11-11 | 2020-11-11 | 一种数据传输方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255368.4A CN112437060B (zh) | 2020-11-11 | 2020-11-11 | 一种数据传输方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437060A true CN112437060A (zh) | 2021-03-02 |
CN112437060B CN112437060B (zh) | 2022-11-18 |
Family
ID=74700928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011255368.4A Active CN112437060B (zh) | 2020-11-11 | 2020-11-11 | 一种数据传输方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437060B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826569A (zh) * | 2022-03-28 | 2022-07-29 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及服务器、客户端、存储介质 |
CN115883257A (zh) * | 2023-02-09 | 2023-03-31 | 广州万协通信息技术有限公司 | 基于安全芯片的密码运算方法及装置 |
CN116033113A (zh) * | 2023-03-27 | 2023-04-28 | 全时云商务服务股份有限公司 | 一种视频会议辅助信息传输方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178968A (zh) * | 2013-04-09 | 2013-06-26 | 北京工业大学 | 基于哈夫曼压缩的数据传输门限方案的加密方法 |
CN105052041A (zh) * | 2013-03-22 | 2015-11-11 | 富士通株式会社 | 压缩装置、压缩方法、词典生成装置、词典生成方法、解压装置、解压方法、解压程序以及信息处理系统 |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN110247764A (zh) * | 2019-06-24 | 2019-09-17 | 晏保华 | 一种管理网络数据传输方法的系统、方法及装置 |
-
2020
- 2020-11-11 CN CN202011255368.4A patent/CN112437060B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105052041A (zh) * | 2013-03-22 | 2015-11-11 | 富士通株式会社 | 压缩装置、压缩方法、词典生成装置、词典生成方法、解压装置、解压方法、解压程序以及信息处理系统 |
CN103178968A (zh) * | 2013-04-09 | 2013-06-26 | 北京工业大学 | 基于哈夫曼压缩的数据传输门限方案的加密方法 |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN110247764A (zh) * | 2019-06-24 | 2019-09-17 | 晏保华 | 一种管理网络数据传输方法的系统、方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826569A (zh) * | 2022-03-28 | 2022-07-29 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及服务器、客户端、存储介质 |
CN115883257A (zh) * | 2023-02-09 | 2023-03-31 | 广州万协通信息技术有限公司 | 基于安全芯片的密码运算方法及装置 |
CN116033113A (zh) * | 2023-03-27 | 2023-04-28 | 全时云商务服务股份有限公司 | 一种视频会议辅助信息传输方法和系统 |
CN116033113B (zh) * | 2023-03-27 | 2023-08-11 | 全时云商务服务股份有限公司 | 一种视频会议辅助信息传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112437060B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112437060B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN109150499B (zh) | 动态加密数据的方法、装置、计算机设备和存储介质 | |
CN111125727B (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN109241484B (zh) | 一种基于加密技术的网页数据的发送方法及设备 | |
CN112287379B (zh) | 业务数据使用方法、装置、设备、存储介质和程序产品 | |
CN112600665B (zh) | 一种基于区块链和加密技术的隐蔽通信方法、装置及系统 | |
CN111756522A (zh) | 数据处理方法及系统 | |
CN110933063B (zh) | 数据加密方法、数据解密方法及设备 | |
CN113259132B (zh) | 数据传输加解密方法、装置、计算机设备及存储介质 | |
US10567155B2 (en) | Securing a cryptographic device | |
GB2540220A (en) | Distributed encryption system and method | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
CN115473722A (zh) | 数据加密方法、装置、电子设备及存储介质 | |
CN114710274A (zh) | 数据调用方法、装置、电子设备及存储介质 | |
CN111193741A (zh) | 一种信息发送方法、信息获取方法、装置及设备 | |
CN111859435B (zh) | 一种数据安全处理方法及装置 | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN108390887B (zh) | 一种电影数据传输方法及装置 | |
CN111931204A (zh) | 用于分布式系统的加密去重存储方法、终端设备 | |
CN112953716A (zh) | 一种兑换码生成及其验证方法和装置 | |
CN115757535A (zh) | 数据查询方法、数据存储方法、装置及电子设备 | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
CN117390687B (zh) | 敏感数据查询方法、装置、存储介质和电子设备 | |
CN115580489B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN112615712B (zh) | 数据的处理方法、相关装置及计算机程序产品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |