CN108632020B - 数据发送方法、接收方法及装置 - Google Patents
数据发送方法、接收方法及装置 Download PDFInfo
- Publication number
- CN108632020B CN108632020B CN201810460087.9A CN201810460087A CN108632020B CN 108632020 B CN108632020 B CN 108632020B CN 201810460087 A CN201810460087 A CN 201810460087A CN 108632020 B CN108632020 B CN 108632020B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- hash value
- transmitted
- bar code
- 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
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
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)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开是关于一种数据发送方法、接收方法及装置,属于数据传输技术领域,该发送方法包括:获取待传输数据并将待传输数据进行分块得到多个第一数据块;对第一数据块进行哈希运算得到第一数据块的哈希值;根据第一数据块和后一个第一数据块的哈希值构建第二数据块,其中第二数据块包括数据域和校验域,数据域由与第二数据块对应的当前第一数据块填充,校验域由后一个第一数据块的哈希值填充,且前后相邻的两个第二数据块通过校验域构成链式结构;将第二数据块转换成对应的条形码信息。该方法解决了现有技术中由于待传输数据的数据量大于条形码信息的存储量,进而需要通过网络访问链接地址再获取最终数据而引起的网络安全威胁。
Description
技术领域
本公开涉及数据传输技术领域,具体而言,涉及一种数据发送方法、接收方法及装置、计算机可读存储介质和电子设备。
背景技术
随着条形码技术的日渐成熟,可以通过条形码传输的数据量也在逐渐增加,现有的条形码可以传输的数据量已经可以达到一千多个字节。但是,实际的业务希望用条形码要传输的数据量还是经常会大于现有条形码存储阈值,例如当传输数字证书时,数字证书的数据量就远远大于一千多个字节。
目前,解决上述问题广泛使用的是活码的方案:即条形码中仅存储具体数据的链接地址,条形码识别方通过识别条形码,然后再读取出链接地址,最后再访问该链接地址获保存在云端的具体数据。
但是,上述技术方案存在如下缺点:由于上述技术方案需要通过网络访问链接地址再获取最终数据;但是,在某些场景下条形码识别装置是无法访问网络的,因此无法使用该技术方案。例如,在区块链数字资产领域,冷钱包是指在离线的设备上存储比特币等数字资产的私钥信息,该设备不允许连接网络,以免受到潜在的网络安全威胁。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据发送方法、接收方法及装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的由于无法读取链接地址导致的无法获取具体数据的问题。
根据本公开的一个方面,提供一种数据发送方法,包括:
获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;
对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;
根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构;
将所述第二数据块转换成对应的条形码信息。
在本公开的一种示例性实施例中,在将所述第二数据块转换成对应的条形码信息之后,所述数据发送方法还包括:
将所述条形码信息依次显示。
在本公开的一种示例性实施例中,将所述条形码信息依次显示包括:
检测控制信号;其中,所述控制信号为第一终端设备发送的,用于控制所述条形码信息依次显示的信号;
如果检测到所述控制信号,则每检测到一次所述控制信号,显示一帧所述条形码信息。
在本公开的一种示例性实施例中,将所述条形码信息依次显示还包括:
间隔预设时间,将所述条形码信息依次以轮播的方式进行显示。
在本公开的一种示例性实施例中,所述第二数据块的数据量小于等于预设存储阈值;
其中,所述预设存储阈值根据所述条形码信息的存储空间的大小进行确定。
在本公开的一种示例性实施例中,在对所述第一数据块进行哈希运算得到所述第一数据块的哈希值之后,所述数据发送方法还包括:
配置预设密钥;其中,所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证。
在本公开的一种示例性实施例中,第一个所述第二数据块的校验域还包括第一哈希值,所述第一哈希值为:
当前所述待传输数据中第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及所述预设密钥进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
在本公开的一种示例性实施例中,根据所述待传输数据中最后一个所述第一数据块构建所述第二数据块时,所述第二数据块的校验域中包括:
为空;或者
结束标记符;或者
第一个所述第一数据块的哈希值;或者
所述待传输数据的哈希值。
根据本公开的一个方面,提供一种数据接收方法,包括:
扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息;
从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;
如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
在本公开的一种示例性实施例中,对第一个所述第二数据块进行解析得到校验域之后,还包括:
对第一个所述第二数据块的校验域进行判断,如果第一个所述第二数据块的校验域中的哈希值与第一哈希值相同,则校验成功,继续扫描下一个条形码信息,其中所述第一哈希值为:
第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及预设密钥进行哈希运算得到的哈希值,其中所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
在本公开的一种示例性实施例中,所述数据接收方法还包括:
当待传输数据的条形码信息全部扫描完成后,依次对所述第一数据块进行拼接,完成所述待传输数据的接收。
在本公开的一种示例性实施例中,所述数据接收方法还包括:
从第二个条形码信息开始,每次扫描条形码信息后,按照链式结构进行一次拼接;
直到扫描所述待传输数据中的最后一个条形码信息,对最后一个第一数据块进行拼接,完成所述待传输数据块的接收。
在本公开的一种示例性实施例中,如果待传输数据的条形码信息全部扫描完成包括:
如果所述第二数据块的校验域为空或结束标记符,则所述待传输数据的条形码信息全部扫描完成;
如果所述第二数据块的校验域不为空,也不为结束标记符,且包括所述待传输数据的哈希值或者是所述待传输数据中第一个所述第一数据块的哈希值,则所述待传输数据的条形码信息全部扫描完成。
在本公开的一种示例性实施例中,扫描条形码信息包括:
向第二终端设备发送控制信号,并扫描所述第二终端设备响应所述控制信号显示的所述条形码信息。
在本公开的一种示例性实施例中,所述控制信号为控制所述条形码信息依次显示的信号。
在本公开的一种示例性实施例中,扫描条形码信息还包括:
间隔预设时间,扫描所述第二终端设备以依次轮播的形式显示的条形码信息。
在本公开的一种示例性实施例中,所述第一数据块通过对所述待传输数据进行分块得到。
根据本公开的一个方面,提供一种数据发送装置,包括:
分块模块,用于获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;
哈希运算模块,用于对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;
构建模块,用于根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构;
条形码信息转换模块,用于将所述第二数据块转换成对应的条形码信息。
根据本公开的一个方面,提供一种数据接收装置,包括:
扫描模块,用于扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息;
解析模块,用于从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;
拼接模块,用于如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的数据发送方法或上述任意一项所述的数据接收方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据发送方法或上述任意一项所述的数据接收方法。
本公开一种数据发送方法、接收方法及装置、计算机可读存储介质和电子设备,通过将待传输数据进行分块得到多个第一数据块,并对第一数据块进行哈希运算得到第一数据块的哈希值;再将后一个第一数据块的哈希值填充至前一个第二数据块的校验域中,使前后相邻的两个所述第二数据块通过所述校验域构成链式结构;一方面,通过将待传输数据分为多个数据块,再将数据块转换成条形码信息,减少了每一帧条形码信息中所存储的数据量,解决了现有技术中由于待传输的数据量大于条形码信息的存储量,进而需要通过网络访问链接地址再获取最终数据而引起的网络安全威胁,以及无法连接网络进而无法读取链接地址导致的无法获取具体数据的问题,提高了安全性;另一方面,通过将后一个数据块的哈希值填充至前一个数据块的校验域中,实现了前后数据块相连以形成链式结构,通过链式结构另一终端设备能利用前一个收到的数据块快速识别出当前接收到的数据块是否被篡改或者丢失;同时可以避免因接收到前后顺序不一的条形码信息,在拼接时造成数据混乱的问题,保证了数据的完整性以及正确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出一种数据发送方法的流程图。
图2示意性示出一种对待传输数据进行分块得到多个第一数据块的示例图。
图3示意性示出一种呈链式结构的第二数据块的示例图。
图4示意性示出一种与第二数据块对应的条形码信息的示例图。
图5示意性示出一种数据接收方法的流程图。
图6示意性示出一种数据传输方法的流程图。
图7示意性示出一种数据发送装置的框图。
图8示意性示出一种数据接收装置的框图。
图9示意性示出一种用于实现上述数据发送方法的电子设备示例框图。
图10示意性示出一种用于实现上述数据发送方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种数据发送方法。参考图1所示,该数据发送方法可以包括以下步骤:
步骤S110.获取待传输数据并将所述待传输数据进行分块得到多个第一数据块。
步骤S120.对所述第一数据块进行哈希运算得到所述第一数据块的哈希值。
步骤S130.根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构。
步骤S140.将所述第二数据块转换成对应的条形码信息。
上述数据发送方法中,一方面,通过将待传输数据分为多个数据块,再将数据块转换成条形码信息,减少了每一帧条形码信息中所存储的数据量,解决了现有技术中由于待传输的数据量大于条形码信息的存储量,进而需要通过网络访问链接地址再获取最终数据而引起的网络安全威胁,以及无法连接网络进而无法读取链接地址导致的无法获取具体数据的问题,提高了安全性;另一方面,通过将后一个数据块的哈希值填充至前一个数据块的校验域中,实现了前后数据块相连以形成链式结构,通过链式结构另一终端设备能利用前一个收到的数据块快速识别出当前接收到的数据块是否被篡改或者丢失;同时可以避免因接收到前后顺序不一的条形码信息,在拼接时造成数据混乱的问题,保证了数据的完整性以及正确性。
下面,将结合附图对本示例实施方式中上述数据发送方法中的各步骤进行详细的解释以及说明。
参考图1所示,在步骤S110中,获取待传输数据并将所述待传输数据进行分块得到多个第一数据块。
在本示例实施方式中,首先,获取待传输数据;其中,该待传输数据可以参考图2所示,可以是数字证书,也可以是其他数据,例如可以是企业或者个人信息等等,本示例对此不做特殊限制;然后,将该待传输数据进行分块,得到多个第一数据块;例如,参考图2所示,可以将待传输数据分为201、202、203以及204所示的第一数据块;也可以根据待传输数据的大小将其分为其他多个第一数据块,例如可以是6块、8块或者16块等等,本示例对此不做特殊限制。此处需要补充说明的是,图2中示出的数据块仅用于起到示例作用,并无其他实际意义。
继续参考图1所示,在步骤S120中,对所述第一数据块进行哈希运算得到所述第一数据块的哈希值。
在本示例实施方式中,当得到上述第一数据块后,对各第一数据块进行哈希运算,然后得到各第一数据块的哈希值。
继续参考图1所示,在步骤S130中,根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块。
其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构。
在本示例实施方式中,当得到上述各第一数据块的哈希值后,构建相应的各第二数据块配置校验域;各第二数据块可以参考图3所示,可以包括301、302、303以及304等等。
进一步的,待传输数据中的第一个至第N-1个中,其中,N为待传输数据的第一数据块的个数。任一第二数据块的校验域分别可以为:后一个第一数据块的哈希值;例如,第二数据块301的校验域中可以包括第一数据块202的哈希值;第二数据块302的校验域中可以包括第一数据块203的哈希值;第二数据块303的校验域中可以包括第一数据块204的哈希值等等,以此构成链式结构。
该数据发送方法还可以包括:
配置预设密钥;其中,所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证。
在本示例实施方式中,对于各第二数据块的校验域由后一个第一数据块的哈希值填充,对于第一个第二数据块,校验域除了由后一个第一数据块的哈希值填充,还可以包括第一哈希值,第一哈希值可以包括:
当前所述待传输数据中第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及所述预设密钥进行哈希运算得到的哈希值,其中预设密钥通过上述步骤配置得到;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
假设当前待传输数据(分块后得到第一数据块201、202、203、204),当前待传输数据对应的前一个待传输数据(分块后得到第一数据块101、102、103、104),以第二数据块301为例,第二数据块301的第一哈希值可以包括:第一数据块201的哈希值;或者第一数据块201与预设密钥进行哈希运算得到的哈希值;或者第一数据块104与第一数据块201进行哈希运算得到的哈希值;或者第一数据块104、预设密钥与第一数据块201进行哈希运算得到的哈希值等等。
在本示例实施方式中,根据所述待传输数据中最后一个所述第一数据块构建所述第二数据块时,所述第二数据块的校验域中包括:
为空;或者
结束标记符;或者
第一个所述第一数据块的哈希值;或者
所述待传输数据的哈希值。
例如,当前待传输数据的最后一个第二数据块304的校验域可以为:空;结束标记符;第一个第一数据块201的哈希值;或者整个待传输数据的哈希值等等。
进一步的,上述各第二数据块的数据量可以为:小于等于预设存储阈值;其中,预设存储阈值可以根据所述条形码信息的存储空间的大小进行确定。在本文中,数据块的数据量就是指这一数据块所存储数据的字节数,此处需要补充说明的是,由于条形码(或者二维码)可以包括多种不同的版本,各版本的条形码(或者二维码)对应可存储的数据量不同,因此预设存储阈值可以根据具体的二维码的存储空间的大小进行确定。通过使用该方式,可以确保各第二数据块在生成对应的条形码(或者二维码)时,不会造成由于数据量过大而无法生成正确的条形码(或者二维码)的问题,提高了条形码(或者二维码)的生成效率以及准确率。
继续参考图1所示,在步骤S140中,将所述第二数据块转换成对应的条形码信息。
在本示例实施方式中,当得到上述第二数据块301-304以后,可以将第二数据块301-304转换成对应的条形码信息(例如可以是二维码,也可以是其他方式的条形码信息,本示例对此不做特殊限制);其中,各条形码信息可以参考图4所示,第二数据块301-304对应的条形码信息,图4中以二维码为例,例如可以转换成二维码401-404等等。
进一步的,当得到上述条形码信息以后,为了便于其他终端设备对该条形码信息进行扫描以完成待传输数据的传输,该数据发送方法还包括:将所述条形码信息依次显示。详细而言:
首先,检测控制信号;其中,所述控制信号为第一终端设备发送的,用于控制所述条形码信息依次显示的信号。举例而言:
例如,当设备B(即第一终端设备)需要扫描设备A(即第二终端设备)中的条形码信息以获取待传输数据时,设备B首先需要向设备A发送控制信号;其中,该控制信号可以用于控制上述条形码信息的依次显示,进一步的,该控制信号可以包括为音频信号或者声音信号;也可以是其他形式的控制信号,例如可以是光信号等等,本示例对此不做特殊限制。
其次,如果检测到所述控制信号,则每检测到一次所述控制信号,显示一帧所述条形码信息。举例而言:
例如,当设备A监测到该控制信号(例如可以通过手机的手电筒发送光信号)时,将第二数据块301对应的二维码信息401进行显示;当二维码信息显示以后,设备B可以通过图像获取装置(例如可以是手机的前置摄像头或者后置摄像头等等)对该二维码信息进行扫描以获取该条形码信息。进一步的,由于一个待传输数据可以包括多个条形码信息,因此可以每检测到一次控制信号,显示一帧所述条形码信息;例如,当第二次监测到上述控制信号时,可以显示第二数据块302对应的二维码402等等。
更进一步的,上述条形码信息也可以通过其他方式进行显示,例如,可以以轮播的方式进行显示,具体的可以包括:间隔预设时间,将所述条形码信息依次以轮播的方式进行显示。详细而言:
间隔一预设时间,将上述各条形码信息依次以轮播的方式进行显示;其中,该预设时间例如可以是3秒、5秒或者7秒等等,可以根据实际需要自行配置,本示例对此不做特殊限制。
综上所述,该数据发送方法通过将待传输数据进行分块得到多个第一数据块,并对第一数据块进行哈希运算得到第一数据块的哈希值;再将后一个第一数据块的哈希值填充至前一个第一数据块的校验域中,使前后相邻的两个所述第二数据块通过所述校验域构成链式结构;一方面,通过将待传输数据分为多个数据块,再将数据块转换成条形码信息,减少了每一帧条形码信息中所存储的数据量,解决了现有技术中由于待传输的数据量大于条形码信息的存储量,进而需要通过网络访问链接地址再获取最终数据而引起的网络安全威胁,以及无法连接网络进而无法读取链接地址导致的无法获取具体数据的问题,提高了安全性;另一方面,通过将后一个数据块的哈希值填充至前一个数据块的校验域中,实现了前后数据块相连以形成链式结构,通过链式结构另一终端设备能利用前一个收到的数据块快速识别出当前接收到的数据块是否被篡改或者丢失;同时可以避免因接收到前后顺序不一的条形码信息,在拼接时造成数据混乱的问题,保证了数据的完整性以及正确性。
图5示意性示出一种数据接收方法。参考图5所示,该数据接收方法可以包括以下步骤:
步骤S510.扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息。
步骤S520.从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充。
步骤S530.如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
上述数据接收方法中,能够实现与上述数据发送方法相同的技术效果,此处不再重复。
下面,将结合附图对本示例实施方式中上述数据发送方法中的各步骤进行详细的解释以及说明。
参考图5所示,在步骤S510中,扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息。
在本示例实施方式中,首先,设备B扫描上述设备A提供的条形码信息,其中,该条形码信息可以为待传输数据的第二数据块对应的条形码信息,如二维码401;其次,将获取到的该条形码信息转换成第二数据块,如将二维码401转换成第二数据块301;其中,第二数据块中可以包括数据域以及校验域等等。
进一步的,在本示例实施方式中,扫描条形码信息可以包括:向第二终端设备发送控制信号,并扫描所述第二终端设备响应所述控制信号显示的所述条形码信息。详细而言:
首先,当需要扫描上述条形码信息时,第一终端设备(例如可以是设备B)需要先向上述第二终端设备(例如可以是设备A)发送控制信号;其中,该控制信号为控制上述条形码信息(例如可以是二维码)依次显示的信号;当上述第二终端设备(例如可以是设备A)检测到控制信号时,显示上述条形码信息(例如可以是二维码)。进一步的,上述条形码信息根据上述控制信号进行显示,即每检测到一次控制信号,显示一帧条形码信息(例如可以是二维码)。
更进一步的,在本示例实施方式中,扫描条形码信息还可以包括:间隔预设时间,扫描第二终端设备以依次轮播的形式显示的条形码信息。详细而言:
间隔一预设时间,扫描上述第二终端设备(例如可以是设备A)以依次轮播的方式进行显示的上述各条形码信息;其中,该预设时间例如可以是3秒、5秒或者7秒等等,可以根据实际需要自行配置,本示例对此不做特殊限制。
继续参考图5所示,在步骤S520中,从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充。
在本示例实施方式中,当得到上述第二数据块后,对上述第二数据块进行解析以得到数据域以及校验域;其中,数据域中可以包括第一数据块,第一数据块可以通过对待传输数据进行分块得到,如第二数据块301、302、303、304进行解析依次得到第一数据块201、202、203、204。
进一步的,待传输数据中的第一个至第N-1个中,其中,N为待传输数据的第一数据块的个数。任一第二数据块的校验域分别可以为:后一个第一数据块的哈希值;第二数据块301的校验域中可以包括第一数据块202的哈希值;第二数据块302的校验域中可以包括第一数据块203的哈希值;第二数据块303的校验域中可以包括第一数据块204的哈希值等等,第二数据块具有以此形成的链式结构。
进一步的,对第一个第二数据块进行解析得到校验域之后,还包括:
对第一个所述第二数据块的校验域进行判断,如果第一个所述第二数据块的校验域中的哈希值与第一哈希值相同,则校验成功,继续扫描下一个条形码信息。
第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及预设密钥进行哈希运算得到的哈希值,其中所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
例如,对第二数据块301进行解析得到校验域中的哈希值可以为第一数据块201的哈希值;或者第一数据块201与预设密钥进行哈希运算得到的哈希值;或者第一数据块104与第一数据块201进行哈希运算得到的哈希值;或者第一数据块104、预设密钥与第一数据块201进行哈希运算得到的哈希值等等。
更进一步的,待传输数据的第N个第二数据块的校验域可以用来表示待传输数据的条形码信息是否全部扫描完成,如:
如果所述第二数据块的校验域为空或结束标记符,则所述待传输数据的条形码信息全部扫描完成;或
如果所述第二数据块的校验域不为空,也不为结束标记符,且包括所述待传输数据的哈希值或者是所述待传输数据中第一个所述第一数据块的哈希值,则所述待传输数据的条形码信息全部扫描完成。
判断上述待传输数据的条形码信息是否全部扫描完成可以包括如下几种方法:
首先,如果上述第二数据块的校验域为空,则所述待传输数据的条形码信息全部扫描完成。
其次,如果上述第二数据块的校验域为结束标记符,则所述待传输数据的条形码信息全部扫描完成。
再次,如果上述第二数据块的校验域包括所述待传输数据的哈希值,则所传输数据的条形码信息全部扫描完成。
最后,如果上述第二数据块的校验域包括所述待传输数据中第一个所述第一数据块的哈希值,则所传输数据的条形码信息全部扫描完成。
继续参考图5所示,在步骤S530中,如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
例如,如果第一数据块202进行哈希运算得到的哈希值与对第二数据块301进行解析得到的校验域中的哈希值相同,则说明这是一次合法的传输,接收到的数据也是准确的数据,这样按顺序扫描条形码信息,并将其转换解析得到相应的校验域的哈希值一次判断后一条数据的合法性,然后将后一个第一数据块按照链式结构拼接在第一数据块之后。
在本示例实施方式中,得到待传输数据的方式可以为:
方式一:当待传输数据的条形码信息全部扫描完成后,依次对所述第一数据块进行拼接,完成所述待传输数据的接收;或者
方式二:从第二个条形码信息开始,每次扫描条形码信息后,按照链式结构进行一次拼接;
直到扫描所述待传输数据中的最后一个条形码信息,对最后一个第一数据块进行拼接,完成所述待传输数据块的接收。
按照上述方式,最终在设备B得到完整的待传输数据,例如,当待传输的数据为数字证书时,当拼接完成后,会在设备B上面显示完整的数字证书。
下面,结合图6对本发明实施例的数据传输方法(包括数据发送和数据接收的步骤)进行进一步解释以及说明。
步骤S10,设备A获取待传输数据,并对待传输数据进行分块得到多个第一数据块;然后将第一数据块进行哈希运算得到相应的哈希值;
步骤S20,设备A将后一个第一数据块的哈希值填充到前一个第二数据块的校验域中,得到多个第二数据块。其中,第二数据块中包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构。
另外,第一个第二数据块的校验域还包括第一哈希值,第一哈希值可以包括:
当前所述待传输数据中第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及所述预设密钥进行哈希运算得到的哈希值,其中预设密钥通过上述步骤配置得到;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
步骤S30,设备A将第二数据块转换成对应的二维码(以二维码为例,还可以是其他条形码);并根据接收到的控制信号依次显示二维码;
步骤S40,设备B扫描设备A根据控制信号依次显示的二维码,并将扫描到的二维码转换成第二数据块;
步骤S50,设备B从第二数据块中解析得到数据域和校验域;其中,数据域中可以包括第一数据块;校验域中可以包括后一个第一数据块的哈希值;
步骤S60,设备B对第二数据块中的校验域进行校验,如果校验成功则跳转至步骤S70,如果校验不成功,则跳转至步骤S40。具体为:对第一个所述第二数据块的校验域进行判断,如果第一个所述第二数据块的校验域中的第一哈希值与第一哈希值相同,则校验成功,则跳转至步骤S70;如果不一致,则跳转至步骤S40。对第二个及之后的第二数据块,需要检查前一个第二数据块的校验域中的哈希值和当前所述的第一数据块的哈希运算后的哈希值是否一致,一致则跳转至步骤S70,不一致则跳转至步骤S40。
步骤S70,设备B扫描设备A根据下一个控制信号显示的下一个二维码;
步骤S80,设备B判断待传输数据的二维码是否全部扫描完成;如果全部扫描完成,则跳转至步骤S90;如果未全部扫描完成,则跳转至步骤S40;
步骤S90,设备B将各第一数据块进行拼接,得到完整的待传输数据。
需要说明的是,其中步骤S80和步骤S90还可以为一个步骤,即当每一个二维码扫描完成后,就将解析得到的第一数据块拼接在前一个第一数据块之后,这样当所有二维码扫描完成后,拼接也完成,即得到完整的待传输数据。
进一步的,本公开提供的数据接收方法以及数据接收方法,与现有技术相比,至少存在以下优点:
一方面,设备B在不需要访问网络数据的情况下,可以通过条形码传输全部数据,避免了活码的方式需要连接网络带来潜在安全隐患。
再一方面,现有技术中采用数据块序号来标识数据块的前后顺序,而本公开利用后一个数据块中哈希值信息填充到前一个数据块的校验域,形成链式结构,不仅能根据先后顺序重新组成完整数据,而且能根据前一个数据块的校验域快速识别后一个数据块是否被篡改和丢失,同时利用哈希算法能大大增强检测出数据错误率的情况,优于普通一维条码译码错误率百万分之二,二维码误码率千万分之一;
进一步的,现有技术中因为要传输数据块序号和数据块总数,因此需要预先知道所有待传输的数据大小,因此使得传输过程较为繁琐,增加了传输时间;本公开采用链式结构,可以在设备A获取一部分数据后即可开始使用二维码方式传输,能缩短整个数据传输过程的时间。
本公开还提供了一种数据发送装置。参考图7所示,该数据发送装置可以包括分块模块710、哈希运算模块720、填充模块730以及条形码信息转换模块740。其中:
分块模块710,用于获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;
哈希运算模块720,用于对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;
填充模块730,用于根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构;
条形码信息转换模块740,用于将所述第二数据块转换成对应的条形码信息。
上述数据发送装置中各模块的具体细节已经在的数据发送方法中进行了详细的描述,因此此处不再赘述。
本公开还提供了一种数据接收装置。参考图8所示,该数据接收装置可以包括扫描模块810、解析模块820以及拼接模块830。其中:
扫描模块810,用于扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息;
解析模块820,用于从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;
拼接模块830,用于如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
上述数据接收装置中各模块的具体细节已经在的数据接收方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本发明的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图1中所示的数据发送方法的步骤,包括:步骤S110:获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;S120:对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;步骤S130:根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块;步骤S140:将所述第二数据块转换成对应的条形码信息。所述处理单元910还可以执行如图5中所示的数据接收方法的步骤,包括:步骤S510:扫描条形码信息,并将所述条形码信息转换成第二数据块;S520:从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;步骤S530:如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (20)
1.一种数据发送方法,其特征在于,包括:
获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;
对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;
根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构;
将所述第二数据块转换成对应的条形码信息;
其中,在对所述第一数据块进行哈希运算得到所述第一数据块的哈希值之后,所述数据发送方法还包括:配置预设密钥并根据所述预设密钥确定第一个所述第二数据块的校验域;其中,所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证。
2.根据权利要求1所述的数据发送方法,其特征在于,在将所述第二数据块转换成对应的条形码信息之后,所述数据发送方法还包括:
将所述条形码信息依次显示。
3.根据权利要求2所述的数据发送方法,其特征在于,将所述条形码信息依次显示包括:
检测控制信号;其中,所述控制信号为第一终端设备发送的,用于控制所述条形码信息依次显示的信号;
如果检测到所述控制信号,则每检测到一次所述控制信号,显示一帧所述条形码信息。
4.根据权利要求2所述的数据发送方法,其特征在于,将所述条形码信息依次显示还包括:
间隔预设时间,将所述条形码信息依次以轮播的方式进行显示。
5.根据权利要求1所述的数据发送方法,其特征在于,所述第二数据块的数据量小于等于预设存储阈值;
其中,所述预设存储阈值根据所述条形码信息的存储空间的大小进行确定。
6.根据权利要求1所述的数据发送方法,其特征在于,第一个所述第二数据块的校验域还包括第一哈希值,所述第一哈希值为:
当前所述待传输数据中第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及所述预设密钥进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及当前所述待传输数据中第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
7.根据权利要求1或6所述的数据发送方法,其特征在于,根据所述待传输数据中最后一个所述第一数据块构建所述第二数据块时,所述第二数据块的校验域中包括:
为空;或者
结束标记符;或者
第一个所述第一数据块的哈希值;或者
所述待传输数据的哈希值。
8.一种数据接收方法,其特征在于,包括:
扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息;
从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;
如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后;
通过预设密钥对对显示所述条形码信息的第二终端设备的身份进行验证,所述预设密钥存在于第一个所述第二数据块的校验域中,所述预设密钥在第一终端设备与第二终端设备初始配对时由第二终端配置生成。
9.根据权利要求8所述的数据接收方法,其特征在于,对第一个所述第二数据块进行解析得到校验域之后,还包括:
对第一个所述第二数据块的校验域进行判断,如果第一个所述第二数据块的校验域中的哈希值与第一哈希值相同,则校验成功,继续扫描下一个条形码信息,其中所述第一哈希值为:
第一个所述第一数据块的哈希值;或者
根据第一个所述第一数据块的哈希值以及预设密钥进行哈希运算得到的哈希值,其中所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值;或者
根据与当前所述待传输数据对应的前一个待传输数据的最后一个所述第一数据块的哈希值、所述预设密钥,以及第一个所述第一数据块的哈希值进行哈希运算得到的哈希值。
10.根据权利要求8所述的数据接收方法,其特征在于,所述数据接收方法还包括:
当待传输数据的条形码信息全部扫描完成后,依次对所述第一数据块进行拼接,完成所述待传输数据的接收。
11.根据权利要求8所述的数据接收方法,其特征在于,所述数据接收方法还包括:
从第二个条形码信息开始,每次扫描条形码信息后,按照链式结构进行一次拼接;
直到扫描所述待传输数据中的最后一个条形码信息,对最后一个第一数据块进行拼接,完成所述待传输数据块的接收。
12.根据权利要求8所述的数据接收方法,其特征在于,如果待传输数据的条形码信息全部扫描完成包括:
如果所述第二数据块的校验域为空或结束标记符,则所述待传输数据的条形码信息全部扫描完成;
如果所述第二数据块的校验域不为空,也不为结束标记符,且包括所述待传输数据的哈希值或者是所述待传输数据中第一个所述第一数据块的哈希值,则所述待传输数据的条形码信息全部扫描完成。
13.根据权利要求9所述的数据接收方法,其特征在于,扫描条形码信息包括:
向第二终端设备发送控制信号,并扫描所述第二终端设备响应所述控制信号显示的所述条形码信息。
14.根据权利要求13所述的数据接收方法,其特征在于,所述控制信号为控制所述条形码信息依次显示的信号。
15.根据权利要求9所述的数据接收方法,其特征在于,扫描条形码信息还包括:
间隔预设时间,扫描所述第二终端设备以依次轮播的形式显示的条形码信息。
16.根据权利要求8-15任一项所述的数据接收方法,其特征在于,所述第一数据块通过对所述待传输数据进行分块得到。
17.一种数据发送装置,其特征在于,包括:
分块模块,用于获取待传输数据并将所述待传输数据进行分块得到多个第一数据块;
哈希运算模块,用于对所述第一数据块进行哈希运算得到所述第一数据块的哈希值;
构建模块,用于根据所述第一数据块和后一个第一数据块的哈希值构建第二数据块,其中所述第二数据块包括数据域和校验域,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充,且前后相邻的两个所述第二数据块通过所述校验域构成链式结构;
条形码信息转换模块,用于将所述第二数据块转换成对应的条形码信息;
配置模块,用于在对所述第一数据块进行哈希运算得到所述第一数据块的哈希值之后,配置预设密钥并根据所述预设密钥确定第一个所述第二数据块的校验域;其中,所述预设密钥在第一终端设备与第二终端设备初始配对时生成,用于对显示所述条形码信息的第二终端设备的身份进行验证。
18.一种数据接收装置,其特征在于,包括:
扫描模块,用于扫描条形码信息,并将所述条形码信息转换成第二数据块;其中,所述条形码信息为待传输数据的第二数据块对应的条形码信息;
解析模块,用于从所述第二数据块中解析得到数据域和校验域;其中,所述数据域由与所述第二数据块对应的当前第一数据块填充,所述校验域由后一个第一数据块的哈希值填充;
拼接模块,用于如果对所述后一个第一数据块进行哈希运算得到的哈希值与解析得到的所述校验域中的哈希值相同,则将所述后一个第一数据块按照链式结构拼接在所述当前第一数据块之后;
验证模块,用于通过预设密钥对对显示所述条形码信息的第二终端设备的身份进行验证,所述预设密钥存在于第一个所述第二数据块的校验域中,所述预设密钥在第一终端设备与第二终端设备初始配对时由第二终端配置生成。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的数据发送方法或权利要求8-16任一项所述的数据接收方法。
20.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的数据发送方法或8-16任一项所述的数据接收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460087.9A CN108632020B (zh) | 2018-05-15 | 2018-05-15 | 数据发送方法、接收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460087.9A CN108632020B (zh) | 2018-05-15 | 2018-05-15 | 数据发送方法、接收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108632020A CN108632020A (zh) | 2018-10-09 |
CN108632020B true CN108632020B (zh) | 2021-08-17 |
Family
ID=63693267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810460087.9A Active CN108632020B (zh) | 2018-05-15 | 2018-05-15 | 数据发送方法、接收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108632020B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756561B (zh) * | 2018-12-12 | 2022-10-14 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN110391914B (zh) * | 2019-09-18 | 2019-12-31 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种基于二维码的文件获取方法及设备、二维码生成方法 |
CN112203280B (zh) * | 2020-10-10 | 2024-02-09 | 北京航空航天大学 | 一种面向边缘网关的数据可信传输机制 |
CN113364634B (zh) * | 2021-06-18 | 2023-01-31 | 广州中爆数字信息科技股份有限公司 | 内外网数据传输的状态检测方法、装置、设备及存储介质 |
CN115550868A (zh) * | 2022-09-26 | 2022-12-30 | 深圳市晨汇节能环保科技有限公司 | 氢能源动力控制系统及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049425A (zh) * | 2015-06-28 | 2015-11-11 | 南威软件股份有限公司 | 一种基于二维码的物理隔离传输方法 |
CN106650849A (zh) * | 2016-12-23 | 2017-05-10 | 广州酷狗计算机科技有限公司 | 数据传输方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10509932B2 (en) * | 2016-03-07 | 2019-12-17 | ShoCard, Inc. | Large data transfer using visual codes with feedback confirmation |
US10252145B2 (en) * | 2016-05-02 | 2019-04-09 | Bao Tran | Smart device |
-
2018
- 2018-05-15 CN CN201810460087.9A patent/CN108632020B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049425A (zh) * | 2015-06-28 | 2015-11-11 | 南威软件股份有限公司 | 一种基于二维码的物理隔离传输方法 |
CN106650849A (zh) * | 2016-12-23 | 2017-05-10 | 广州酷狗计算机科技有限公司 | 数据传输方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
区块链技术:架构及进展;邵奇峰,金澈清,张召,钱卫宁,周傲英;《计算机学报》;20171231 * |
Also Published As
Publication number | Publication date |
---|---|
CN108632020A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632020B (zh) | 数据发送方法、接收方法及装置 | |
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
CN108681760B (zh) | 数据发送方法、接收方法及装置 | |
CN108900776B (zh) | 用于确定响应时间的方法和装置 | |
CN110879903B (zh) | 证据存储方法、证据验证方法及装置、设备和介质 | |
CN105512881B (zh) | 一种基于二维码完成支付的方法及终端 | |
CN111062024B (zh) | 一种应用登录方法和装置 | |
US10698797B2 (en) | Mobile application program testing method, server, terminal, and storage medium | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
US10142035B2 (en) | Information transmission method, apparatus and system | |
US9124624B2 (en) | Detecting vulnerabilities in web applications | |
CN109684008B (zh) | 卡片渲染方法、装置、终端及计算机可读存储介质 | |
CN105095367B (zh) | 一种客户端数据的采集方法和装置 | |
CN111722935A (zh) | 页面端与原生端的通信方法、装置、电子设备及可读介质 | |
CN104025089B (zh) | 基于情形的爬行的方法和系统 | |
CN117201601A (zh) | 物联网设备接入方法、装置、设备及存储介质 | |
CN111143650B (zh) | 获取页面数据的方法、装置、介质及电子设备 | |
CN110110032B (zh) | 用于更新索引文件的方法和装置 | |
KR101833220B1 (ko) | 애플리케이션 코드의 역난독화 검증 장치 및 이를 이용한 애플리케이션 코드의 역난독화 검증 방법 | |
US20120331040A1 (en) | Validating download success | |
CN112131092A (zh) | 页面调试方法和装置 | |
CN114879985A (zh) | 一种证书文件的安装方法、装置、设备及存储介质 | |
CN114036364A (zh) | 用于识别爬虫的方法、装置、设备、介质和产品 | |
US20130139042A1 (en) | Generating and providing guidance files for documents | |
CN109358875B (zh) | 基于Ubuntu系统的硬件钱包离线升级装置和方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200903 Address after: 11, building 310053, Hang Seng tower, 3588 Jiangnan Avenue, Hangzhou, Zhejiang, Binjiang District Applicant after: HUNDSUN TECHNOLOGIES Inc. Address before: 310053 323, room 3, Hengsheng building, 3588 Jiangnan Road, Binjiang District, Hangzhou, Zhejiang. Applicant before: ZHEJIANG JINGTENG NETWORK TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |