CN113055380A - 报文处理方法、装置、电子设备及介质 - Google Patents

报文处理方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN113055380A
CN113055380A CN202110267213.0A CN202110267213A CN113055380A CN 113055380 A CN113055380 A CN 113055380A CN 202110267213 A CN202110267213 A CN 202110267213A CN 113055380 A CN113055380 A CN 113055380A
Authority
CN
China
Prior art keywords
message
interface
user
request message
decrypted
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
Application number
CN202110267213.0A
Other languages
English (en)
Other versions
CN113055380B (zh
Inventor
罗胜友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202110267213.0A priority Critical patent/CN113055380B/zh
Publication of CN113055380A publication Critical patent/CN113055380A/zh
Application granted granted Critical
Publication of CN113055380B publication Critical patent/CN113055380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据处理技术,揭露一种报文处理方法,包括:获取用户的请求报文,根据所述请求报文得到用户IP地址;当所述用户IP地址在预构建的白名单内时,对所述请求报文进行解密,得到解密报文;获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;查询所述外部API接口的信息并验证接口权限,得到内部API接口;对所述内部API接口进行验证及接口信息确认,得到目标接口;从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。本发明还提出一种报文处理装置、设备及存储介质。本发明可以实现对不同的API接口进行统一的报文处理。

Description

报文处理方法、装置、电子设备及介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种报文处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网加的发展,传统线下服务逐步转为数字化终端和线上服务,例如,银行的发展已经从线下物理网点渠道逐步转为数字化终端和线上场景。由此,开放银行作为一种新的解决被提出来,开放银行作为一种数字化平台,利用开放API等技术实现银行与第三方机构间的数据共享、银行服务与产品的即插即用,进而可以充分提升用户的体验,建立起开放的银行生态系统。
基于这种开放式的银行生态系统,银行内部系统愈发微服务化,对接的服务团队越来越多,在这种每个服务团队开发的接口和参数都不相同的情况下,在处理每个服务团队发送的报文时,会造成数据不兼容的情况,无法对不同的API接口发送的报文进行统一处理。
发明内容
本发明提供一种报文处理方法、装置、电子设备及计算机可读存储介质,其主要目的在于实现对不同的API接口进行统一的报文处理。
为实现上述目的,本发明提供的一种报文处理方法,包括:
获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址;
当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证;
所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;
查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口;
对所述内部API接口进行验证及接口信息确认,得到目标接口;
从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
可选地,所述获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址,包括:
根据报文开始标志和报文结束标志获取请求报文;
提取所述请求报文的多个字段,将所述多个字段划分为所述请求报文的请求行、请求头、请求体,并从所述请求体中获取用户IP地址。
可选地,所述对所述请求报文进行解密,得到解密报文,包括:
基于AES算法构建密钥生成器;
对所述密钥生成器进行初始化,得到原始对称密钥;
获取所述原始对称密钥的字节数组,根据所述字节数组生成AES密钥;
利用所述AES密钥对所述请求报文进行解密得到所述解密报文。
可选地,所述对所述外部API接口进行限流控制,包括:
在所述外部API接口中创建限流阀,并为所述限流阀设定阈值;
当所述解密报文通过所述外部API接口时,对所述限流阀的阈值执行加一操作;
当所述限流阀的阈值达到预设阈值时,拒绝所述解密报文通过所述外部API接口。
可选地,所述对所述请求报文进行解密,得到解密报文,包括:
对所述解密报文利用哈希算法求得数字签名;
利用所述AES密钥加密所述数字签名得到第一数字摘要;
利用所述用户信息中的用户私钥加密所述数字签名得到第二数字摘要;
将所述第一数字摘要和所述第二数字摘要进行比较,如果所述第一数字摘要和所述第二数字摘要匹配,则验证所述解密报文合法。
可选地,所述从所述目标接口中提取得到响应参数,包括:
提取所述目标接口中的接口返回结果;
剔除所述接口返回结果中的所述响应报文无关的参数得到所述响应参数。
可选地,所述对所述响应参数进行加密加签操作得到所述请求报文的响应报文之后还包括:
将所述请求报文的响应报文发送至所述用户。
为了解决上述问题,本发明还提供一种报文处理装置,所述装置包括:
请求报文获取模块,用于获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址。
解密报文生成模块,用于当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证;
外部API接口获取模块,用于所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;
内部API接口调用模块,用于查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口;
目标接口确认模块,用于对所述内部API接口进行验证及接口信息确认,得到目标接口;
响应报文获取模块,用于从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的报文处理方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储创建的数据,存储程序区存储有计算机程序;其中,所述计算机程序被处理器执行时实现如上所述的报文处理方法。
本发明实施例从用户的请求报文中得到用户IP地址,并通过判断所述用户IP地址是否在预构建的白名单内可以过滤掉不符合预设条件的报文请求,进一步地,本发明实施例对所述请求报文进行解密,得到解密报文;根据所述解密报文获取对应的外部API接口,并根据所述外部API接口得到内部API接口;并在所述内部API接口通过接口信息确认,可以得到目标接口,并根据所述目标接口可以获取响应报文,因此本发明实施例所述的报文处理方法、装置、电子设备及计算机可读存储介质可以实现对不同的API接口进行统一的报文处理。
附图说明
图1为本发明一实施例提供的一种报文处理方法的流程示意图;
图2为本发明一实施例提供的报文处理装置的模块示意图;
图3为本发明一实施例提供的实现报文处理方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种报文处理方法。所述报文处理方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述报文处理方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的一种协同多接口框架的生成方法的流程示意图。在本实施例中,所述协同多接口框架的生成方法包括:
S1、获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址。
本发明实施例中,所述请求报文是将用户通过预设APP(Application,应用程序)发送的请求转化成网络交互与传输的数据块。
详细地,本发明实施例中,所述获取用户的请求报文,并对所述请求报文进行解析,包括:
根据报文开始标志和报文结束标志获取请求报文;提取所述请求报文的多个字段,将所述多个字段划分请求行、请求头、请求体,并从所述请求体中获取用户IP地址。
S2、当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证。
本发明实施例中,所述白名单为预构建的IP地址列表。本发明其中一个实施例中,当所述用户IP地址不在所述白名单内,则表明所述用户不符合预设要求,如所述用户为非签约用户,则可以直接结束流程。
本发明另一个实施例中,当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户信息。具体的,所述用户信息包括:用户账号、用户个人信息及用户私钥等。
本发明实施例可以通过开源分布式服务框架(Dubbo)调用预先存储所述用户信息。详细地,本发明实施例通过所述开源分布式服务框架可以直接从预设的后台管理系统中调用预先存储的所述用户信息。所述后台管理系统具有系统管理、企业信息管理、产品管理、订单管理等功能,可以将数据保存在不同的表中。例如,将用户信息保存到用户信息表中,从而加快了对用户信息的调用速度。
进一步地,本发明实施例可以采用AES算法、DES算法、RSA算法等对所述请求报文进行解密。
本发明其中一个实施例中,所述对所述请求报文进行解密,得到解密报文,包括:基于AES算法构建密钥生成器;对所述密钥生成器进行初始化,得到原始对称密钥;获取所述原始对称密钥的字节数组,根据所述字节数组生成AES密钥;利用所述AES密钥对所述请求报文进行解密得到所述解密报文。本发明实施例可以根据AES算法中的密钥生成器类KeyGenerator源码构造密钥生成器,并根据AES算法中的ecnodeRules规则对所述密钥生成器进行初始化,继而生成AES。
具体的,所述对所述请求报文进行解密,得到解密报文之后,本发明实施例进一步根据所述用户信息对所述解密报文进行合法性验证。
详细地,所述根据所述用户信息对所述解密报文进行合法性验证包括:对所述解密报文利用哈希算法求得数字签名;利用上述生成的密钥加密所述数字签名得到第一数字摘要;利用所述用户信息中的用户私钥加密所述数字签名得到第二数字摘要;将所述第一数字摘要和所述第二数字摘要进行比较,如果所述第一数字摘要和所述第二数字摘要匹配,则验证所述解密报文合法。
本发明其中一个实施例中,当所述合法性验证没有通过时,可以直接结束流程。
S3、所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制。
本发明实施例中,所述外部API接口为用户端的API接口。
进一步地,本发明实施例可以采用包括令牌桶算法、漏桶算法、Redis计数器算法、同步计数器等对所述外部API接口进行限流控制,以防止所述解密报文重复发送。
在本发明其中一个实施例中,可以利用同步计数器对所述外部API接口进行限流。
详细地,所述对所述外部API接口进行限流控制,包括:
步骤A、在所述外部API接口中创建限流阀,并为所述限流阀设定阈值;
步骤B、当所述解密报文通过所述外部API接口时,对所述限流阀的阈值执行加一操作;
步骤C、当所述限流阀的阈值达到预设阈值时,拒绝所述解密报文通过所述外部API接口。
本发明另一个实施例中,对所述外部API接口进行限流前还包括:采用分布式锁防止所述外部API接口重复请求。
所述分布式锁是API接口之间同步访问共享的请求报文的一种方式。当不同的API接口之间共享了一个或一组所述共享的请求报文,那么访问所述共享的请求报文的时候,往往需要利用分布式锁的互斥性以防止彼此干扰来保证一致性。
S4、查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口。
本发明实施例中,所述内部API接口为服务器端接口。
本发明实施例中,查询所述外部API接口的信息并验证所述外部API接口接口权限可以确保所述外部API接口信息可用,避免调用错误的外部API接口。
进一步地,本发明实施例中,查询所述外部API接口的信息并验证接口权限,得到外部接口信息之后,利用预设的映射关系调用内部API接口。
S5、对所述内部API接口进行验证及接口信息确认,得到目标接口。
详细地,所述对所述内部API接口进行验证可以包括:
根据所述内部API接口的配置信息,获取所述内部API接口的验证方式,并根据所述验证方式对所述内部API接口执行验证。
本发明实施例中,所述根据所述验证方式可以包括,例如短信验证方式等。
本发明实施例中,所述接口信息确认包括对用户ID绑定信息进行确认。
当所述内部API接口验证不通过或者接口信息确认失败,则说明所述外部API接口和所述内部API接口不匹配,则可以直接结束流程。
当所述内部API接口验证通过且接口信息确认失败,则说明所述外部API接口和所述内部API接口匹配,此时的内部API接口为目标接口,并执行下述的S6。
S6、从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
本发明实施例中,所述从所述目标接口中提取得到响应参数包括:
步骤A、提取所述目标接口中的接口返回结果;
步骤B、剔除所述接口返回结果中的所述响应报文无关的参数得到所述响应参数。
具体的,所述返回结果为所述请求报文通过所述目标接口的返回结果,所述返回结果中包含所述响应报文的参数和所述目标接口的参数。
例如所述接口返回结果中包含a、b、c、d四个返回参数,当所述响应报文不包含返回参数c、d时,所述参数c、d为所述响应报文无关的参数即所述目标接口参数,剔除所述目标接口参数c、d得到所述响应参数。
本发明实施例中,所述从所述目标接口中提取得到响应参数之前还包括对所述目标接口进行错误码转换,用以避免所述目标接口对接错误。
例如,根据预设的接口码定义表,当所述目标接口的接口码为103,得到错误码为100101_1,进行错误码转换后的错误码为10010。当所述目标接口的接口码为101,得到错误码为10011_1,进行转换后的错误码为10011。
详细地,同S3相同,所述对所述响应参数进行加密加签操作得到所述请求报文的响应报文同样采用AES算法,根据所述AES密钥对所述响应报文进行加密。
本发明实施例中,得到所述请求报文的响应报文后还包括将所述请求报文的响应报文发送至所述用户。
本发明实施例从用户的请求报文中得到用户IP地址,并通过判断所述用户IP地址是否在预构建的白名单内可以过滤掉不符合预设条件的报文请求,进一步地,本发明实施例对所述请求报文进行解密,得到解密报文;根据所述解密报文获取对应的外部API接口,并根据所述外部API接口得到内部API接口;并在所述内部API接口通过接口信息确认,可以得到目标接口,并根据所述目标接口可以获取响应报文,因此本发明实施例所述的报文处理方法、装置、电子设备及计算机可读存储介质可以实现对不同的API接口进行统一的报文处理。
如图2所示,是本发明报文处理装置的模块示意图。
本发明所述报文处理装置100可以安装于电子设备中。根据实现的功能,所述报文处理装置可以包括请求报文获取模块101、解密报文生成模块102、外部API接口获取模块103、内部API接口调用模块104、目标接口确认模块105及响应报文获取模块106。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述请求报文获取模块101,用于获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址。
本发明实施例中,所述请求报文是将用户通过预设APP(Application,应用程序)发送的请求转化成网络交互与传输的数据块。
详细地,本发明实施例中,所述获取用户的请求报文,并对所述请求报文进行解析,包括:
根据报文开始标志和报文结束标志获取请求报文;提取所述请求报文的多个字段,将所述多个字段划分为请求行、请求头、请求体,并从所述请求体中获取用户IP地址。
所述解密报文生成模块102,用于当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证。
本发明实施例中,所述白名单为预构建的IP地址列表。本发明其中一个实施例中,当所述用户IP地址不在所述白名单内,则表明所述用户不符合预设要求,如所述用户为非签约用户,则可以直接结束流程。
本发明另一个实施例中,当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户信息。具体的,所述用户信息包括:用户账号、用户个人信息及用户私钥等。
本发明实施例可以通过开源分布式服务框架(Dubbo)调用预先存储所述用户信息。详细地,本发明实施例通过所述开源分布式服务框架可以直接从预设的后台管理系统中调用预先存储的所述用户信息。所述后台管理系统具有系统管理、企业信息管理、产品管理、订单管理等功能,可以将数据保存在不同的表中。例如,将用户信息保存到用户信息表中,从而加快了对用户信息的调用速度。
进一步地,本发明实施例可以采用AES算法、DES算法、RSA算法等对所述请求报文进行解密。
详细地,本发明实施例中,所述对所述请求报文进行解密,得到解密报文,包括:基于AES算法构建密钥生成器;对所述密钥生成器进行初始化,得到原始对称密钥;获取所述原始对称密钥的字节数组,根据所述字节数组生成AES密钥;利用所述AES密钥对所述请求报文进行解密得到所述解密报文。本发明实施例可以根据AES算法中的密钥生成器类KeyGenerator源码构造密钥生成器,并根据AES算法中的ecnodeRules规则对所述密钥生成器进行初始化,继而生成AES。
具体的,所述对所述请求报文进行解密,得到解密报文之后,本发明实施例进一步根据所述用户信息对所述解密报文进行合法性验证。
详细地,所述根据所述用户信息对所述解密报文进行合法性验证包括:对所述解密报文利用哈希算法求得数字签名;利用上述生成的密钥加密所述数字签名得到第一数字摘要;利用所述用户信息中的用户私钥加密所述数字签名得到第二数字摘要;将所述第一数字摘要和所述第二数字摘要进行比较,如果所述第一数字摘要和所述第二数字摘要匹配,则验证所述解密报文合法。
本发明其中一个实施例中,当所述合法性验证没有通过时,可以直接结束流程。
所述外部API接口获取模块103,用于所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制。
本发明实施例中,所述外部API接口为用户端的API接口。
进一步地,本发明实施例可以采用包括令牌桶算法、漏桶算法、Redis计数器算法、同步计数器等对所述外部API接口进行限流控制,以防止所述解密报文重复发送。
在本发明其中一个实施例中,可以利用同步计数器对所述外部API接口进行限流。
详细地,所述对所述外部API接口进行限流控制,包括:
步骤A、在所述外部API接口中创建限流阀,并为所述限流阀设定阈值;
步骤B、当所述解密报文通过所述外部API接口时,对所述限流阀的阈值执行加一操作;
步骤C、当所述限流阀的阈值达到预设阈值时,拒绝所述解密报文通过所述外部API接口。
本发明另一个实施例中,对所述外部API接口进行限流前还包括:采用分布式锁防止所述外部API接口重复请求。
所述分布式锁是API接口之间同步访问共享的请求报文的一种方式。当不同的API接口之间共享了一个或一组所述共享的请求报文,那么访问所述共享的请求报文的时候,往往需要利用分布式锁的互斥性以防止彼此干扰来保证一致性。
所述内部API接口调用模块104,用于对所述内部API接口进行验证及接口信息确认,得到目标接口。
本发明实施例中,所述内部API接口为服务器端接口。
本发明实施例中,查询所述外部API接口的信息并验证所述外部API接口接口权限可以确保所述外部API接口信息可用,避免调用错误的外部API接口。
进一步地,本发明实施例中,查询所述外部API接口的信息并验证接口权限,得到外部接口信息之后,利用预设的映射关系调用内部API接口。
所述目标接口确认模块105,用于对所述内部API接口进行验证及接口信息确认,得到目标接口。
详细地,所述对所述内部API接口进行验证可以包括:
根据所述内部API接口的配置信息,获取所述内部API接口的验证方式,并根据所述验证方式对所述内部API接口执行验证。
本发明实施例中,所述根据所述验证方式可以包括,例如短信验证方式等。
本发明实施例中,所述接口信息确认包括对用户ID绑定信息进行确认。
当所述内部API接口验证不通过或者接口信息确认失败,则说明所述外部API接口和所述内部API接口不匹配,则可以直接结束流程。
当所述内部API接口验证通过且接口信息确认失败,则说明所述外部API接口和所述内部API接口匹配,此时的内部API接口为目标接口,并执行下述的S6。
响应报文获取模块106,用于从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
本发明实施例中,所述从所述目标接口中提取得到响应参数包括:
步骤A、提取所述目标接口中的接口返回结果;
步骤B、剔除所述接口返回结果中的所述响应报文无关的参数得到所述响应参数。
具体的,所述返回结果为所述请求报文通过所述目标接口的返回结果,所述返回结果中包含所述响应报文的参数和所述目标接口的参数。
例如所述接口返回结果中包含a、b、c、d四个返回参数,当所述响应报文不包含返回参数c、d时,所述参数c、d为所述响应报文无关的参数即所述目标接口参数,剔除所述目标接口参数c、d得到所述响应参数。
本发明实施例中,所述从所述目标接口中提取得到响应参数之前还包括对所述目标接口进行错误码转换,用以避免所述目标接口对接错误。
例如,根据预设的接口码定义表,当所述目标接口的接口码为103,得到错误码为100101_1,进行错误码转换后的错误码为10010。当所述目标接口的接口码为101,得到错误码为10011_1,进行转换后的错误码为10011。
详细地,同S3相同,所述对所述响应参数进行加密加签操作得到所述请求报文的响应报文同样采用AES算法,根据所述AES密钥对所述响应报文进行加密。
本发明实施例中,得到所述请求报文的响应报文后还包括将所述请求报文的响应报文发送至所述用户。
如图3所示,是本发明实现报文处理方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如报文处理程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如报文处理程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行报文处理程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的报文处理程序12是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址;
当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证;
所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;
查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口;
对所述内部API接口进行验证及接口信息确认,得到目标接口;
从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
本发明实施例中,获取用户的请求报文,得到用户IP地址;当所述用户IP地址在预构建的白名单内时,对所述请求报文进行解密,得到解密报文;获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;查询所述外部API接口的信息并验证接口权限,得到内部API接口;基于所述内部API接口,进行接口信息确认得到目标接口。根据所述目标接口的获取,从而能够实现对差异性的API接口进行统一。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种报文处理方法,其特征在于,所述方法包括:
获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址;
当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证;
所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;
查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口;
对所述内部API接口进行验证及接口信息确认,得到目标接口;
从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
2.如权利要求1所述的报文处理方法,其特征在于,所述获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址,包括:
根据报文开始标志和报文结束标志获取请求报文;
提取所述请求报文的多个字段,将所述多个字段划分为请求行、请求头、请求体,并从所述请求体中获取用户IP地址。
3.如权利要求1所述的报文处理方法,其特征在于,所述对所述请求报文进行解密,得到解密报文,包括:
基于AES算法构建密钥生成器;
对所述密钥生成器进行初始化,得到原始对称密钥;
获取所述原始对称密钥的字节数组,根据所述字节数组生成AES密钥;
利用所述AES密钥对所述请求报文进行解密,得到所述解密报文。
4.如权利要求1所述的报文处理方法,其特征在于,所述对所述外部API接口进行限流控制,包括:
在所述外部API接口中创建限流阀,并为所述限流阀设定阈值;
当所述解密报文通过所述外部API接口时,对所述限流阀的阈值执行加一操作;
当所述限流阀的阈值达到预设阈值时,拒绝所述解密报文通过所述外部API接口。
5.如权利要求1所述的报文处理方法,其特征在于,所述根据所述用户信息对所述解密报文进行合法性验证,包括:
对所述解密报文利用哈希算法求得数字签名;
利用所述AES密钥加密所述数字签名得到第一数字摘要;
利用所述用户信息中的用户私钥加密所述数字签名得到第二数字摘要;
将所述第一数字摘要和所述第二数字摘要进行比较,如果所述第一数字摘要和所述第二数字摘要匹配,则验证所述解密报文合法。
6.如权利要求1所述的报文处理方法,其特征在于,所述从所述目标接口中提取得到响应参数,包括:
提取所述目标接口中的接口返回结果;
剔除所述接口返回结果中的所述响应报文无关的参数,得到所述响应参数。
7.如权利要求1至6中任意一项所述的报文处理方法,其特征在于,所述对所述响应参数进行加密加签操作,得到所述请求报文的响应报文之后,所述方法还包括:
将所述请求报文的响应报文发送至所述用户。
8.一种报文处理装置,其特征在于,所述装置包括:
请求报文获取模块,用于获取用户的请求报文,并对所述请求报文进行解析,得到用户IP地址;
解密报文生成模块,用于当所述用户IP地址在预构建的白名单内时,调用预先存储的所述用户IP地址对应的用户信息,对所述请求报文进行解密,得到解密报文,根据所述用户信息对所述解密报文进行合法性验证;
外部API接口获取模块,用于所述合法性验证通过后,获取与所述解密报文对应的外部API接口,并对所述外部API接口进行限流控制;
内部API接口调用模块,用于查询所述外部API接口的信息并验证接口权限,得到外部接口信息,根据所述外部接口信息调用内部API接口;
目标接口确认模块,用于对所述内部API接口进行验证及接口信息确认,得到目标接口;
响应报文获取模块,用于从所述目标接口中提取得到响应参数,对所述响应参数进行加密加签操作,得到所述请求报文的响应报文。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的报文处理方法。
10.一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储创建的数据,存储程序区存储有计算机程序;其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的报文处理方法。
CN202110267213.0A 2021-03-11 2021-03-11 报文处理方法、装置、电子设备及介质 Active CN113055380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110267213.0A CN113055380B (zh) 2021-03-11 2021-03-11 报文处理方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110267213.0A CN113055380B (zh) 2021-03-11 2021-03-11 报文处理方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN113055380A true CN113055380A (zh) 2021-06-29
CN113055380B CN113055380B (zh) 2022-08-05

Family

ID=76511625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110267213.0A Active CN113055380B (zh) 2021-03-11 2021-03-11 报文处理方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN113055380B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338092A (zh) * 2021-12-09 2022-04-12 江苏网进科技股份有限公司 一种轻量级接口限流方法
CN114826612A (zh) * 2022-04-20 2022-07-29 微位(深圳)网络科技有限公司 数据交互方法、装置、设备及存储介质
CN114826724A (zh) * 2022-04-20 2022-07-29 网易(杭州)网络有限公司 数据处理方法、装置、电子设备和存储介质
TWI803330B (zh) * 2022-05-26 2023-05-21 國立成功大學 利用區塊鏈的認證方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190002078A (ko) * 2017-06-29 2019-01-08 주식회사 아이피미라클 오픈뱅킹 api 기반의 간편모금 방법 및 시스템
CN111031035A (zh) * 2019-12-12 2020-04-17 支付宝(杭州)信息技术有限公司 一种敏感数据访问行为监控方法及装置
CN111314315A (zh) * 2020-01-20 2020-06-19 重庆富民银行股份有限公司 开放平台多维度安全控制系统及方法
CN111787073A (zh) * 2020-06-18 2020-10-16 多加网络科技(北京)有限公司 一种统一服务的限流熔断平台及其方法
CN112019332A (zh) * 2020-08-26 2020-12-01 平安国际智慧城市科技股份有限公司 基于微服务的加解密方法、api网关系统及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190002078A (ko) * 2017-06-29 2019-01-08 주식회사 아이피미라클 오픈뱅킹 api 기반의 간편모금 방법 및 시스템
CN111031035A (zh) * 2019-12-12 2020-04-17 支付宝(杭州)信息技术有限公司 一种敏感数据访问行为监控方法及装置
CN111314315A (zh) * 2020-01-20 2020-06-19 重庆富民银行股份有限公司 开放平台多维度安全控制系统及方法
CN111787073A (zh) * 2020-06-18 2020-10-16 多加网络科技(北京)有限公司 一种统一服务的限流熔断平台及其方法
CN112019332A (zh) * 2020-08-26 2020-12-01 平安国际智慧城市科技股份有限公司 基于微服务的加解密方法、api网关系统及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚刚等: ""浅析微服务架构API网关的作用"", 《浅析微服务架构API网关的作用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338092A (zh) * 2021-12-09 2022-04-12 江苏网进科技股份有限公司 一种轻量级接口限流方法
CN114826612A (zh) * 2022-04-20 2022-07-29 微位(深圳)网络科技有限公司 数据交互方法、装置、设备及存储介质
CN114826724A (zh) * 2022-04-20 2022-07-29 网易(杭州)网络有限公司 数据处理方法、装置、电子设备和存储介质
CN114826612B (zh) * 2022-04-20 2024-01-30 微位(深圳)网络科技有限公司 数据交互方法、装置、设备及存储介质
CN114826724B (zh) * 2022-04-20 2024-04-09 网易(杭州)网络有限公司 数据处理方法、装置、电子设备和存储介质
TWI803330B (zh) * 2022-05-26 2023-05-21 國立成功大學 利用區塊鏈的認證方法

Also Published As

Publication number Publication date
CN113055380B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN113055380B (zh) 报文处理方法、装置、电子设备及介质
WO2022134760A1 (zh) 数据处理方法、装置、电子设备及介质
CN113422686B (zh) 网关层鉴权方法、系统、电子设备及存储介质
CN111695097A (zh) 登录检验方法、装置及计算机可读存储介质
CN112732297B (zh) 联邦学习模型的更新方法、装置、电子设备及存储介质
CN113112252B (zh) 基于区块链的资源转移方法、装置、电子设备及存储介质
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN112506559A (zh) 基于网关的灰度发布方法、装置、电子设备及存储介质
CN113158207A (zh) 基于区块链的报告生成方法、装置、电子设备及存储介质
CN114389889A (zh) 基于区块链技术的文件全生命周期管理方法及装置
CN114760114A (zh) 身份认证方法、装置、设备及介质
CN115840787A (zh) 基于区块链的供应链数据共享方法、装置、设备及介质
CN115374150A (zh) 字符串数据查询方法、装置、电子设备及存储介质
CN114553532A (zh) 数据安全传输方法、装置、电子设备及存储介质
CN114499859A (zh) 密码验证方法、装置、设备及存储介质
CN113221154A (zh) 服务密码获取方法、装置、电子设备及存储介质
CN112217639B (zh) 数据的加密共享方法、装置、电子设备及计算机存储介质
CN114826725B (zh) 数据交互方法、装置、设备及存储介质
CN115021995A (zh) 多渠道登录方法、装置、设备及存储介质
CN111683070B (zh) 基于身份加密的数据传送方法、装置及存储介质
CN113918517A (zh) 多类型文件集中管理方法、装置、设备及存储介质
CN114760073A (zh) 基于区块链的仓储商品配送方法、装置、电子设备及介质
CN112417400A (zh) 基于多集群系统的安全优化方法、装置、电子设备及介质
CN114091041A (zh) 一种基于嵌入式设备的数据传输方法、装置、设备及介质
CN114125158A (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