CN108650264A - 数据传输方法、装置、设备及计算机可读存储介质 - Google Patents
数据传输方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108650264A CN108650264A CN201810446354.7A CN201810446354A CN108650264A CN 108650264 A CN108650264 A CN 108650264A CN 201810446354 A CN201810446354 A CN 201810446354A CN 108650264 A CN108650264 A CN 108650264A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- assignment
- treated
- transmission method
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000007906 compression Methods 0.000 claims abstract description 31
- 230000006835 compression Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000003491 array Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000002224 dissection Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- OTZZZISTDGMMMX-UHFFFAOYSA-N 2-(3,5-dimethylpyrazol-1-yl)-n,n-bis[2-(3,5-dimethylpyrazol-1-yl)ethyl]ethanamine Chemical compound N1=C(C)C=C(C)N1CCN(CCN1C(=CC(C)=N1)C)CCN1C(C)=CC(C)=N1 OTZZZISTDGMMMX-UHFFFAOYSA-N 0.000 description 1
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据传输方法、装置、设备及计算机可读存储介质,该方法包括步骤:当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。本发明通过对发送端和接收端之间需要传输的数据进行压缩加密的双重安全处理,提高了发送端和接收端之间所传输数据的安全性,保护发送端和接收端之间所传输的数据不为非法分子所窃取。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、装置、设备及计算机可读存储介质。
背景技术
在即时网络通信过程中,发送端和接收端所传输的数据会被非法分子恶意截取,导致发送端和接收端的损失。为了避免所传输的数据被非法分子截取,发送端会将需要发送的数据进行加密处理,将数据加密后再传输给接收端。但是由于所使用的加密算法较为简单,非法分子容易破解加密后的数据,从而导致发送端和接收端所传输的数据还是容易被非法分子破解,导致发送端和接收端之间所传输的数据安全性低。
发明内容
本发明的主要目的在于提供一种数据传输方法、装置、设备及计算机可读存储介质,旨在解决现有的发送端和接收端之间所传输的数据安全性低的技术问题。
为实现上述目的,本发明提供一种数据传输方法,所述数据传输方法包括步骤:
当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;
对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;
将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
优选地,所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤之前,还包括:
检测所述待传输数据是否满足压缩条件;
若所述待传输数据满足所述压缩条件,则执行所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤。
优选地,所述检测所述待传输数据是否满足压缩条件的步骤包括:
将所述待传输数据对应的字节数组按照位运算中的左移或者右移算法转换成目标字节数组;
将所述目标字节数组赋值到预置对象的输出数据成员变量中,并检验所述预置对象中的数据是否满足预设条件;
若所述输出数据成员变量满足预设条件,则确定所述待传输数据满足所述压缩条件;
若所述输出数据成员变量未满足所述预设条件,则确定所述待传输数据未满足所述压缩条件。
优选地,所述检测所述待传输数据是否满足压缩条件的步骤之后,还包括:
若所述待传输数据未满足所述压缩条件,则输出提示信息,以根据所述提示信息提示用户所述待传输数据未满足所述压缩条件。
优选地,所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤包括:
获取赋值后的所述待传输数据对应的起始数据;
根据所述起始数据对应的长度值,建立一个目标数组;
根据所述起始数据进行for循环,以将赋值后的所述待传输数据对应字节数组中的值逐一赋值待所述目标数组中,得到压缩后的所述待传输数据;
采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据。
优选地,所述采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据的步骤包括:
将压缩后的所述待传输数据转换成预设进制对应的字符串,并获取预存的密钥;
根据所述密钥,通过预设的加密算法对所述字符串进行加密,得到处理后的所述待传输数据。
优选地,所述当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据的步骤包括:
当获取到待传输数据后,将所述待传输数据的数据类型转换成字节数组,并获取所述字节数组的长度;
根据所述字节数组的字节长度,按照预设规则确定与所述字节数组对应的目标长度;
将所述目标长度定义为所述字节数组的字节长度,以得到赋值后的所述待传输数据。
此外,为实现上述目的,本发明还提供一种数据传输装置,所述数据传输装置包括:
赋值模块,用于当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;
处理模块,用于对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;
发送模块,用于将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
此外,为实现上述目的,本发明还提供一种数据传输设备,所述数据传输设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如上所述的数据传输方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如上所述的数据传输方法的步骤。
本发明通过发送端对需要传输的数据赋值后,对需要传输的数据进行加密处理以及压缩处理,得到压缩加密后的数据,将压缩加密后的数据传输给接收端,对发送端和接收端之间需要传输的数据进行压缩加密的双重安全处理,提高了发送端和接收端之间所传输数据的安全性,保护发送端和接收端之间所传输的数据不为非法分子所窃取。
附图说明
图1为本发明数据传输方法第一实施例的流程示意图;
图2为本发明数据传输方法第二实施例的流程示意图;
图3为本发明数据传输方法第三实施例的流程示意图;
图4为本发明数据传输装置较佳实施例的功能示意图模块图;
图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据传输方法,参照图1,图1为本发明数据传输方法第一实施例的流程示意图。
本发明实施例提供了数据传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
数据传输方法可应用于发送端中,发送端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
数据传输方法包括:
步骤S10,当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据。
当发送端获取到待传输数据后,发送端对待传输数据进行初始化操作,对待传输数据进行赋值,以得到赋值后的待传输数据。其中,预先定义好的JZlib的Zstream对象,待传输数据对应字节数组的信息可存储在Zstream对象的成员变量中。该待传输数据可为发送端需要与接收端进行数据传输过程中,用户手动输入的;或者是预先存储在发送端的数据库中,当发送端需要与接收端进行数据交互时,发送端从其数据库中获取的。JZlib是Zlib的Java版本,Zlib是提供数据压缩用的函式库。在定义JZlib的Zstream对象过程中,可在Java语法中使用new关键字调用一个Java类的构造方法定义该类的一个实例化对象,即定义JZlib的Zstream对象。
在Zstream对象中,设置了几个成员变量用于存储对应的字节数组的信息。Zstream对象中的成员变量分别为:①next_in:存储in Bytes(输入数据)的内容;②next_in_index:记录in Bytes的起始下标;③avail_in:记录in Bytes的长度;④next_out:存储out Bytes的内容;⑤next_out_index:记录out Bytes(输出数据)的起始下标;⑥avail_out:记录out Bytes的长度。需要说明的是,通过next_in_index和next_out_index对应可以知道输入数据和输出数据中其内容的起始位。如某个输入数据的起始位为3时,表明在输入数据的字符串中,从第3位开始才是该输入数据的真实内容。
进一步地,步骤S10包括:
步骤a,当获取到待传输数据后,将所述待传输数据的数据类型转换成字节数组,并获取所述字节数组的长度。
进一步地,当发送端获取到待传输数据后,发送端将待传输数据的数据类型转换成字节数组,获取该字节数组的字节长度。在本实施例中,用byte[]in Bytes表示字节数组。可以理解的是,待传输数据对应的字节数组即为Zstream对象的输入数据in Bytes。
步骤b,根据所述字节数组的字节长度,按照预设规则确定与所述字节数组对应的目标长度。
当发送端获取到字节数组的字节长度后,发送端按照预设规则确定与该字节数组对应的目标长度。具体地,发送端将字节数组的字节长度进行四舍五入的处理,得到处理后的字节长度,并在处理后的字节长度中加13,得到与该字节数组对应的目标长度。其中,13可根据具体需要设置为其它质数,在本实施例中对该过程中的质数不做具体限制。
步骤c,将所述目标长度定义为所述字节数组的字节长度,以得到赋值后的所述待传输数据。
当发送端得到字节数组对应的目标长度后,将该目标长度定义为字节数组的字节长度,以得到赋值后的待传输数据。需要说明的是,赋值后的待传输数据为更改字节长度后的待传输数据。在Zstream对象中,赋值后的待传输数据即为输出数据out Bytes。
步骤S20,对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据。
当发送端得到赋值后的待传输数据后,对赋值后的待传输数据进行压缩以及加密处理,得到处理后的待传输数据。
进一步地,步骤S20包括:
步骤d,获取赋值后的所述待传输数据对应的起始数据。
进一步地,发送端获取赋值后的待传输数据对应的起始数据。具体地,发送端从Zstream对象中取出输出数据的下标位next_out_index,以得到赋值后的待传输数据对应的起始数据,即输出数据的起始下标为待传输数据对应的起始数据。
步骤e,根据所述起始数据对应的长度值,建立一个目标数组,根据所述起始数据进行for循环,以将赋值后的所述待传输数据对应字节数组中的值逐一赋值待所述目标数组中,得到压缩后的所述待传输数据。
当发送端得到赋值后的待传输数据对应的起始数据后,将该起始数据作为长度值,建立一个目标数组byte[]return Bytes,作为最后的返回值,并根据起始数据进行for循环,将赋值后的待传输数据对应字节数组中的值逐一赋值到return Bytes中,即returnBytes[i]=out Bytes[i],得到压缩后的待传输数据。
步骤f,采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据。
当发送端得到压缩后的待传输数据后,发送端采用预设的加密算法,对压缩后的待传输数据进行加密,得到加密后的待传输数据,即得到处理后的待传输数据。预设的加密算法包括但不限于3DES,DES(Data Encryption Algorithm,数据加密标准)、SHA(SecureHash Algorithm,安全散列算法)、AES(Advanced Encryption Standard,高级加密标准)、ECC(Elliptic Curves Cipher,椭圆曲线密码)和MD5(Message-Digest Algorithm 5,信息-摘要算法5)等。其中,3DES是三重数据加密算法(TDEA,Triple Data EncryptionAlgorithm)块密码的通称,又称Triple DES。在本实施例中,优先采用3DES加密算法,3DES算法采用3个不同密钥对同一个分组数据块进行3次加密,以提高加密后数据的强度。
进一步地,步骤f包括:
步骤f1,将压缩后的所述待传输数据转换成预设进制对应的字符串,并获取预存的密钥。
当发送端得到压缩后的待传输数据后,发送端将压缩后的待传输数据转换预设进制对应的字符串,并获取预存的密钥。在本实施例中,根据预设加密算法来确定密钥的种类。当预设加密算法为对称加密算法时,对应的密钥为对称密钥;当预设加密算法为非对称加密算法时,对应的密钥为非对称密钥。在本实施例中,发送端可通过使用Java中org.apache.commons.codec.binary.Hex类的encode Hex String方法将压缩后的待传输数据转换成16进制的字符串。需要说明的是,由于一个16进制字符占用4bit(比特),一个byte占用8bit(字节),Java中一个String字符是16bit,因此使用16进制字符串可节省发送端内存空间,另外一个方面16进制字符串使用0-9,a-f表示的,不会存在发送端编码与源程序编码格式不一致导致编码无法识别,而出现乱码的情况。
可以理解的是,在其它实施例中,发送端也可将压缩后的待传输数据转换成8进制,或者其它进制对应的字符串。
步骤f2,根据所述密钥,通过预设的加密算法对所述字符串进行加密,得到处理后的所述待传输数据。
当发送端获取待密钥后,根据该密钥,通过预设的加密算法对应该字符串进行加密,以得到处理后的待传输数据。在本实施例中,加密算法用到JDK中javax.crypto包下面的Cipher类,声明出来的Cipher对象将压缩后的待传输数据进行加密并返回对应的字节数据,从而得到处理后的待传输数据。其中,JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序,Cipher类为加密和解密提供密码功能。
步骤S30,将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
当发送端得到处理后的待传输数据后,将处理后的待传输数据发送给接收端。当接收端接收到处理后的待传输数据后,解析处理后的待传输数据,得到未经加密以及未经压缩处理的待传输数据,即得到原始的待传输数据。
接收端解析处理后的待传输数据的过程为:接收端获取解密所需的密钥,并获取Cipher对象,通过该Cipher对象和密钥解密处理后的待传输数据,得到与处理后的待传输数据对应的字节数据,并将该字节数据转换成字符串。需要说明的是,该字符串即为压缩后的待传输数据。在Cipher对象中,包括了加密算法的名称、分组加密的模式以及最后一个分组的填充方法的消息。因此,通过Cipher对象和密钥即可解密处理后的待传输数据,得到压缩后的待传输数据。可以理解的是,当发送端采用的加密算法为对称加密算法时,发送端加密所用密钥与接收端解密所用密钥是相同的;当发送端采用的加密算法为非对称加密算法时,若发送端采用私钥进行加密,接收端则采用对应的公钥进行解密;若发送端采用公钥进行加密,接收端则采用对应的私钥进行解密。
当接收端得到压缩后的待传输数据后,接收端获取JZlib的ZStream对象,根据压缩后的待传输数据对ZStream对象进行初始化,然后定义一个Byte的List对象,通过for循环解压缩压缩后的待传输数据,得到对应的字节数据,并将所得的字节数据存储至该List对象中,将List对象中的字节数据赋值到字节数组中,以得到解压后的待传输数据,即得到原始的待传输数据。接收端根据压缩后的待传输数据对ZStream对象进行初始化的具体过程为:将压缩后的待传输数据转为字节数组byte[]in Bytes,根据in Bytes的长度四舍五入后,再加13得到输出数据out Bytes的字节数组长度out Length,然后定义长度为outLength的字节数组out Bytes。
需要说明的是,List对象中存储的元素是byte字节,接收端在解压缩的过程中会得到ZStream对象中的out Bytes字节数组,然后以ZStream.next_out_index为长度进行for循环遍历操作,将out Bytes字节数组中的字节逐一添加到list对象中,循环结束添加完毕后,此时list对象中的数据是已解密解压缩后的明文数据的字符,最后需要新建一个长度为list.size()的字节数组byte[],将list对象中的byte数据逐一赋值到新建的字节数组中,最后用new String(byte[])获取完整的明文字符串。
本实施例通过发送端对需要传输的数据赋值后,对需要传输的数据进行加密处理以及压缩处理,得到压缩加密后的数据,将压缩加密后的数据传输给接收端,对发送端和接收端之间需要传输的数据进行压缩加密的双重安全处理,提高了发送端和接收端之间所传输数据的安全性,保护发送端和接收端之间所传输的数据不为非法分子所窃取。
进一步地,提出本发明数据传输方法第二实施例。
所述数据传输方法第二实施例与所述数据传输方法第一实施例的区别在于,参照图2,数据传输方法还包括:
步骤S40,检测所述待传输数据是否满足压缩条件。
当发送端获取到待传输数据后,发送端检测待传输数据是否满足压缩条件。
进一步地,步骤S40:
步骤g,将所述待传输数据对应的字节数组按照位运算中的左移或者右移算法转换成目标字节数组。
当发送端获取到待传输数据后,发送端调用一个DEFLATE方法,将ZStream对象作为DEFLATE方法的输入参数,将字节数组in Bytes按照位运算中的左移算法或者右移算法生成一个新的字节数组,即将待传输数据对应的字节数组按照位运算中的左移算法或者右移算法转换成目标字节数组。其中,左移或者右移对应的位数可根据具体需要而设置,在本实施例中不做具体限制。DEFLATE是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。LZ77编码是一种基于字典的、“滑动窗”的无损压缩算法。可以理解的是,在本实施例中,发送端也可调用其它压缩算法,将ZStream对象作为其它压缩算法的输入参数。
步骤h,将所述目标字节数组赋值到预置对象的输出数据成员变量中,并检验所述预置对象中的数据是否满足预设条件。
当发送端得到目标字节数组后,发送端将目标字节数组填充到ZStream对象的next_out成员变量中,即将目标字节数组赋值到预置对象的输出数据成员变量中,对next_out的内容和长度进行校验,并根据校验结果返回一个int类型的值,根据该int类型的值确定ZStream对象中的数据是否满足预设条件。在本实施例中,预置对象为ZStream对象。其中,next_out成员变量中所存储的是赋值后的待传输数据。当检测到赋值后的待传输数据的内容与初始化之前,即原始的待传输数据内容一致,且赋值后的待传输数据的长度与原始的待传输数据对应关系正确时,发送端则得到待传输数据满足预设条件校验结果,即确定预置对象中的输出数据成员变量满足预设条件;若检测到赋值后的待传输数据的内容与原始的待传输数据内容不一致,和/或赋值后的待传输数据的长度与原始的待传输数据对应关系错误,发送端则得到待传输数据未满足预设条件校验结果,即确定预置对象中的输出数据成员变量未满足预设条件。
可以理解的是,赋值后的待传输数据的长度是由原始待传输数据的长度经过预设规则所确定的,因此,赋值后的待传输数据的长度和原始待传输数据的长度是存在一定的对应关系的。
步骤i,若所述输出数据成员变量满足预设条件,则确定所述待传输数据满足所述压缩条件。
若发送端确定预置对象中的输出数据成员变量满足预设条件,发送端则确定待传输数据满足压缩条件,可以对该待传输数据进行压缩处理。具体地,发送端可根据int类型的值来确定预置对象中的数据是否满足预设条件。如当发送端确定预置对象中的数据满足预设条件,会返回一个int类型的值,如返回“0”,并将该值显示在其显示屏中,以提示用户待传输数据满足压缩条件。此时,用户可根据发送端显示屏中的“0”确定待传输数据满足压缩条件。
步骤j,若所述输出数据成员变量未满足所述预设条件,则确定所述待传输数据未满足所述压缩条件。
若发送端确定预置对象中的输出数据成员变量未满足预设条件,发送端则确定待传输数据未满足压缩条件,不可以对该待传输数据进行压缩处理。具体地,发送端可根据int类型的值来确定预置对象中的数据是否满足预设条件。如当发送端确定预置对象中的数据满足预设条件,会返回一个int类型的值,如返回“1”,并将该值显示在其显示屏中,用户可根据发送端显示屏中的“1”确定待传输数据未满足压缩条件。
若所述待传输数据满足所述压缩条件,则执行步骤S20。
若发送端确定待传输数据满足压缩条件,发送端则对赋值后的待传输数据进行压缩以及加密处理,得到处理后的待传输数据。
进一步地,若发送端确定待传输数据未满足压缩条件,发送端则不执行压缩待传输数据的压缩操作。
本实施例通过在对待传输数据进行压缩处理之前,检测待传输数据是否满足压缩条件。只有当待传输数据满足压缩条件时,才执行压缩操作,避免了在压缩待传输数据过程中,压缩待传输数据不成功时,发送端才知道待传输数据不可以进行压缩处理,提高了压缩待传输数据的成功率。
进一步地,提出本发明数据传输方法第三实施例。
所述数据传输方法第三实施例与所述数据传输方法第二实施例的区别在于,参照图3,数据传输方法还包括:
步骤S50,若所述待传输数据未满足所述压缩条件,则输出提示信息,以根据所述提示信息提示用户所述待传输数据未满足所述压缩条件。
当发送端确定待传输数据未满足压缩条件后,发送端在其显示屏中输出提示信息,以根据该提示信息提示用户待传输数据未满足压缩条件。其中,提示信息可以以文字或者语音等形式输出,在本实施例中对提示信息的输出形式不做限制。如发送端可在其显示屏中输出“数据不满足压缩条件”的文字信息提示用户。
进一步地,当发送端在输出提示信息提示用户待传输数据未满足压缩条件时,发送端可在提示信息中携带提示用户是否发送该待传输数据的信息。当发送端接收到用户确认发送待传输数据的确认指令后,发送端直接将所获取的待传输数据发送给接收端,即将未经压缩处理和加密处理的待传输数据发送给接收端;当发送端接收到用户确认不发送待传输数据给接收端的确认指令后,发送端不将待传输数据发送给接收端。
本实施例通过当确定待传输数据未满足压缩条件后,发送端输出提示信息,根据该提示信息提示用户待传输数据未满足压缩条件,以供用户可以及时知道待传输数据未满足压缩条件。
此外,参照图4,本发明还提供一种数据传输装置,所述数据传输装置包括:
赋值模块10,用于当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;
处理模块20,用于对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;
发送模块30,用于将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
本实施例通过发送端的赋值模块10对需要传输的数据赋值后,处理模块20对需要传输的数据进行加密处理以及压缩处理,得到压缩加密后的数据,发送模块30将压缩加密后的数据传输给接收端,对发送端和接收端之间需要传输的数据进行压缩加密的双重安全处理,提高了发送端和接收端之间所传输数据的安全性,保护发送端和接收端之间所传输的数据不为非法分子所窃取。
进一步地,所述数据传输装置还包括:
检测模块,用于检测所述待传输数据是否满足压缩条件;
所述处理模块20还用于若所述待传输数据满足所述压缩条件,则对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据。
进一步地,所述检测模块包括:
第一转换单元,用于将所述待传输数据对应的字节数组按照位运算中的左移或者右移算法转换成目标字节数组;
赋值单元,用于将所述目标字节数组赋值到预置对象的输出数据成员变量中;
检验单元,用于检验所述预置对象中的数据是否满足预设条件;
第一确定单元,用于若所述输出数据成员变量满足预设条件,则确定所述待传输数据满足所述压缩条件;若所述输出数据成员变量未满足所述预设条件,则确定所述待传输数据未满足所述压缩条件。
进一步地,所述数据传输装置还包括:
输出模块,用于若所述待传输数据未满足所述压缩条件,则输出提示信息,以根据所述提示信息提示用户所述待传输数据未满足所述压缩条件。
进一步地,所述处理模块20包括:
第一获取单元,用于获取赋值后的所述待传输数据对应的起始数据;
处理单元,用于根据所述起始数据对应的长度值,建立一个目标数组;根据所述起始数据进行for循环,以将赋值后的所述待传输数据对应字节数组中的值逐一赋值待所述目标数组中,得到压缩后的所述待传输数据;
加密单元,用于采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据。
进一步地,所述加密单元包括:
转换子单元,用于将压缩后的所述待传输数据转换成预设进制对应的字符串,并获取预存的密钥;
加密子单元,用于根据所述密钥,通过预设的加密算法对所述字符串进行加密,得到处理后的所述待传输数据。
进一步地,所述赋值模块10包括:
第二转换单元,用于当获取到待传输数据后,将所述待传输数据的数据类型转换成字节数组;
第二获取单元,用于获取所述字节数组的长度;
第二确定单元,用于根据所述字节数组的字节长度,按照预设规则确定与所述字节数组对应的目标长度;
定义单元,用于将所述目标长度定义为所述字节数组的字节长度,以得到赋值后的所述待传输数据。
需要说明的是,数据传输装置的各个实施例与上述数据传输方法的各实施例基本相同,在此不再详细赘述。
此外,本发明还提供一种数据传输设备。如图5所示,图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图5即可为数据传输设备的硬件运行环境的结构示意图。本发明实施例数据传输设备可以是PC,便携计算机等终端设备。
如图5所示,该数据传输设备可以包括:处理器1001,例如CPU,网络接口1004,存储器1005,用户接口1003,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据传输设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图5中示出的数据传输设备结构并不构成对数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据传输程序。其中,操作系统是管理和控制数据传输设备硬件和软件资源的程序,支持数据传输程序以及其它软件或程序的运行。
在图5所示的数据传输设备中,用户接口1003主要用于获取待传输数据,以及输出提示信息等,网络接口1004主要用于连接接收端,与接收端进行数据通信;处理器1001可以用于调用存储器1005中存储的数据传输程序,并执行如上所述的数据传输方法的步骤。
本发明数据传输设备具体实施方式与上述数据传输方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如上所述的数据传输方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据传输方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据传输方法,其特征在于,所述数据传输方法包括以下步骤:
当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;
对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;
将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
2.如权利要求1所述的数据传输方法,其特征在于,所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤之前,还包括:
检测所述待传输数据是否满足压缩条件;
若所述待传输数据满足所述压缩条件,则执行所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤。
3.如权利要求2所述的数据传输方法,其特征在于,所述检测所述待传输数据是否满足压缩条件的步骤包括:
将所述待传输数据对应的字节数组按照位运算中的左移或者右移算法转换成目标字节数组;
将所述目标字节数组赋值到预置对象的输出数据成员变量中,并检验所述预置对象中的数据是否满足预设条件;
若所述输出数据成员变量满足预设条件,则确定所述待传输数据满足所述压缩条件;
若所述输出数据成员变量未满足所述预设条件,则确定所述待传输数据未满足所述压缩条件。
4.如权利要求2所述的数据传输方法,其特征在于,所述检测所述待传输数据是否满足压缩条件的步骤之后,还包括:
若所述待传输数据未满足所述压缩条件,则输出提示信息,以根据所述提示信息提示用户所述待传输数据未满足所述压缩条件。
5.如权利要求1所述的数据传输方法,其特征在于,所述对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据的步骤包括:
获取赋值后的所述待传输数据对应的起始数据;
根据所述起始数据对应的长度值,建立一个目标数组;
根据所述起始数据进行for循环,以将赋值后的所述待传输数据对应字节数组中的值逐一赋值待所述目标数组中,得到压缩后的所述待传输数据;
采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据。
6.如权利要求5所述的数据传输方法,其特征在于,所述采用预设的加密算法,对压缩后的所述待传输数据进行加密,得到处理后的所述待传输数据的步骤包括:
将压缩后的所述待传输数据转换成预设进制对应的字符串,并获取预存的密钥;
根据所述密钥,通过预设的加密算法对所述字符串进行加密,得到处理后的所述待传输数据。
7.如权利要求1至6任一项所述的数据传输方法,其特征在于,所述当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据的步骤包括:
当获取到待传输数据后,将所述待传输数据的数据类型转换成字节数组,并获取所述字节数组的长度;
根据所述字节数组的字节长度,按照预设规则确定与所述字节数组对应的目标长度;
将所述目标长度定义为所述字节数组的字节长度,以得到赋值后的所述待传输数据。
8.一种数据传输装置,其特征在于,所述数据传输装置包括:
赋值模块,用于当获取到待传输数据后,对所述待传输数据进行初始化赋值,得到赋值后的所述待传输数据;
处理模块,用于对赋值后的所述待传输数据进行压缩以及加密处理,得到处理后的所述待传输数据;
发送模块,用于将处理后的所述待传输数据发送给接收端,以供所述接收端在接收到处理后的所述待传输数据后,解析处理后的所述待传输数据,得到所述待传输数据。
9.一种数据传输设备,其特征在于,所述数据传输设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据传输程序,所述已接入数据传输程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据传输程序,所述已接入数据传输程序被处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810446354.7A CN108650264B (zh) | 2018-05-10 | 2018-05-10 | 数据传输方法、装置、设备及计算机可读存储介质 |
PCT/CN2018/093729 WO2019214028A1 (zh) | 2018-05-10 | 2018-06-29 | 数据传输方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810446354.7A CN108650264B (zh) | 2018-05-10 | 2018-05-10 | 数据传输方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650264A true CN108650264A (zh) | 2018-10-12 |
CN108650264B CN108650264B (zh) | 2020-12-22 |
Family
ID=63754487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810446354.7A Active CN108650264B (zh) | 2018-05-10 | 2018-05-10 | 数据传输方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108650264B (zh) |
WO (1) | WO2019214028A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360923A (zh) * | 2021-06-03 | 2021-09-07 | 北京融数联智科技有限公司 | 一种数据交互方法、装置、系统及电子设备 |
CN114721982A (zh) * | 2022-03-22 | 2022-07-08 | 潍柴动力股份有限公司 | 一种可配置存储数据类型的读写处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473691A (en) * | 1993-11-05 | 1995-12-05 | Microsoft Corporation | System and method for computer data transmission |
CN1913531A (zh) * | 2006-08-25 | 2007-02-14 | 华为技术有限公司 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
CN101345902A (zh) * | 2007-07-13 | 2009-01-14 | 上海东登视讯科技有限公司 | 手机多媒体视频短信的群发方法 |
US20120084523A1 (en) * | 2010-09-30 | 2012-04-05 | Littlefield Duncan A | Data recovery operations, such as recovery from modified network data management protocol data |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10021435B2 (en) * | 2016-05-17 | 2018-07-10 | SpectraRep, LLC | Method and system for datacasting and content management |
CN107426046A (zh) * | 2016-05-24 | 2017-12-01 | 深圳市信锐网科技术有限公司 | 用户上网数据采集分析方法及系统 |
CN107786331B (zh) * | 2017-09-28 | 2020-03-17 | 平安普惠企业管理有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
-
2018
- 2018-05-10 CN CN201810446354.7A patent/CN108650264B/zh active Active
- 2018-06-29 WO PCT/CN2018/093729 patent/WO2019214028A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473691A (en) * | 1993-11-05 | 1995-12-05 | Microsoft Corporation | System and method for computer data transmission |
CN1913531A (zh) * | 2006-08-25 | 2007-02-14 | 华为技术有限公司 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
CN101345902A (zh) * | 2007-07-13 | 2009-01-14 | 上海东登视讯科技有限公司 | 手机多媒体视频短信的群发方法 |
US20120084523A1 (en) * | 2010-09-30 | 2012-04-05 | Littlefield Duncan A | Data recovery operations, such as recovery from modified network data management protocol data |
Non-Patent Citations (3)
Title |
---|
C. CONSTANTINESCU, J. GLIDER, D. SIMHA AND D. CHAMBLISS: ""Random Extraction from Compressed Data - A Practical Study"", 《2013 DATA COMPRESSION CONFERENCE, SNOWBIRD, UT》 * |
博客博主: "zlib数据压缩", 《HTTPS://WWW.CNBLOGS.COM/ZHUYF87/ARCHIVE/2013/02/21/2920522.HTML》 * |
屈志坚,郭亮,陈秋琳,蒋俊俊: "Hadoop云构架的智能调度无损集群压缩技术", 《电力系统自动化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360923A (zh) * | 2021-06-03 | 2021-09-07 | 北京融数联智科技有限公司 | 一种数据交互方法、装置、系统及电子设备 |
CN114721982A (zh) * | 2022-03-22 | 2022-07-08 | 潍柴动力股份有限公司 | 一种可配置存储数据类型的读写处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108650264B (zh) | 2020-12-22 |
WO2019214028A1 (zh) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109150499B (zh) | 动态加密数据的方法、装置、计算机设备和存储介质 | |
US11290252B2 (en) | Compression and homomorphic encryption in secure query and analytics | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN104703176B (zh) | 无线网络的配置方法、智能终端和无线网络设备 | |
US20180253559A1 (en) | Secured lossless data compression using encrypted headers | |
CN103957241A (zh) | 一种基于报文数据的通信方法及装置 | |
CN111431716B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN112491832B (zh) | 一种文件传输方法及装置 | |
CN112202511A (zh) | 基于信道特征的物理层密钥生成方法及系统 | |
CN108650264A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN103209389A (zh) | 短信推送方法、短信推送系统及短信推送云端服务器 | |
CN114051006A (zh) | 数据发送方法、装置、计算机设备以及存储介质 | |
CN113038463B (zh) | 一种通讯加密认证实验装置 | |
CN106817216B (zh) | 一种基于Zlib库和AES算法的ZIP包解压方法 | |
CN111130805B (zh) | 安全传输方法、电子设备及计算机可读存储介质 | |
CN112765686A (zh) | 芯片内算法密钥的防功耗攻击架构及方法 | |
CN107154920B (zh) | 安全信息的加密方法、解密方法及用以接收安全信息的接收装置 | |
SE538512C2 (sv) | Improved compression and encryption of a file | |
CN113383514A (zh) | 用于在资源受限系统中认证消息的方法 | |
WO2016167718A1 (en) | Improved compression and/or encryption of a file | |
CN115426111A (zh) | 一种数据加密方法、装置、电子设备及存储介质 | |
CN112333699B (zh) | 一种物联网通信协议加密方法、设备及存储介质 | |
CN112640506B (zh) | 一种蓝牙节点配对方法及相关装置 | |
CN105959263B (zh) | 基于json的机构养老数据交互方法及系统 | |
CN111064560B (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 |