CN114614994B - Api接口数据的通信方法、装置、客户端及存储介质 - Google Patents

Api接口数据的通信方法、装置、客户端及存储介质 Download PDF

Info

Publication number
CN114614994B
CN114614994B CN202210305851.1A CN202210305851A CN114614994B CN 114614994 B CN114614994 B CN 114614994B CN 202210305851 A CN202210305851 A CN 202210305851A CN 114614994 B CN114614994 B CN 114614994B
Authority
CN
China
Prior art keywords
interface
data
signature
generate
server
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
Application number
CN202210305851.1A
Other languages
English (en)
Other versions
CN114614994A (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.)
Chery Automobile Co Ltd
Wuhu Lion Automotive Technologies Co Ltd
Original Assignee
Chery Automobile Co Ltd
Wuhu Lion Automotive Technologies 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 Chery Automobile Co Ltd, Wuhu Lion Automotive Technologies Co Ltd filed Critical Chery Automobile Co Ltd
Priority to CN202210305851.1A priority Critical patent/CN114614994B/zh
Publication of CN114614994A publication Critical patent/CN114614994A/zh
Application granted granted Critical
Publication of CN114614994B publication Critical patent/CN114614994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

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)
  • Storage Device Security (AREA)

Abstract

本申请涉及软件开发技术领域,特别涉及一种API接口数据的通信方法、装置、客户端及存储介质,其中,方法包括:获取API接口的接口参数和请求数据;利用预设签名规则对接口参数进行签名,生成接口签名;根据服务器提供的令牌生成加密秘钥,并利用加密秘钥对请求数据进行加密,并编码生成加密数据,将接口签名和加密数据发送给服务器,使得服务器依次对加密数据进行解密和对接口签名进行签名验证。由此,解决了相关技术中API接口在数据通信时接口数据容易被篡改,通信的安全性较低,用户体验较差等问题。

Description

API接口数据的通信方法、装置、客户端及存储介质
技术领域
本申请涉及软件开发技术领域,特别涉及一种API(Application ProgrammingInterface,应用程序编程接口)接口数据的通信方法、装置、客户端及存储介质。
背景技术
在当今的数字化互联网的世界里,随着大数据、云计算、人工智能等技术的快速发展,互联网产业加速创新,对于一个企业来说,API是企业在线进行业务合作的最直接方式,与其相关的数据安全问题日益凸显,API接口数据安全事件泄露严重损害企业和用户的合法权益,安全几乎是企业的首要任务,确保所有业务是安全的。实现API接口安全最佳实践以使其集成在系统之间交互传输的数据处于严格安全的锁定状态是非常重要的。
相关技术中,通常采用RSA加密的方式保证API接口通信数据的安全性及完整性。然而,由于RSA算法需要进行大整数的乘幂和求模等多倍字长处理使得加解密速度慢,不适合大量数据文件加密,而且单纯的加密只能防监听偷窥,不能防止其中间人伪装。
发明内容
本申请提供一种API接口数据的通信方法、装置、客户端及存储介质,以解决相关技术中API接口在数据通信时接口数据容易被篡改,通信的安全性较低,用户体验较差等问题。
本申请第一方面实施例提供一种API接口数据的通信方法,包括以下步骤:获取API接口的接口参数和请求数据;利用预设签名规则对所述接口参数进行签名,生成接口签名;根据服务器提供的令牌生成加密秘钥,并利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,将所述接口签名和所述加密数据发送给服务器,使得服务器依次对所述加密数据进行解密和对所述接口签名进行签名验证。
进一步地,利用预设签名规则对所述接口参数进行签名,生成接口签名,包括:将所述接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串;将所述第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串;对所述第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将所述第三字符串中所有字符转换为大写,得到所述接口签名。
进一步地,所述加密秘钥为AES加密秘钥,所述利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,包括:利用所述AES加密秘钥对所述请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成所述加密数据。
进一步地,所述将所述接口签名和所述加密数据发送给服务器,包括:采用HTTPS通信协议将所述接口签名和所述加密数据发送至所述服务器。
进一步地,所述接口参数包括应用标识、随机字符串、交易流水号、请求时间戳和接口编码中的一种或多种参数。
本申请第二方面实施例提供一种API接口数据的通信装置,包括:获取模块,用于获取API接口的接口参数和请求数据;签名模块,用于利用预设签名规则对所述接口参数进行签名,生成接口签名;加密模块,用于根据服务器提供的令牌生成加密秘钥,并利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,将所述接口签名和所述加密数据发送给服务器,使得服务器依次对所述加密数据进行解密和对所述接口签名进行签名验证。
进一步地,所述签名模块进一步用于将所述接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串,将所述第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串,对所述第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将所述第三字符串中所有字符转换为大写,得到所述接口签名。
进一步地,所述加密模块进一步用于利用AES加密秘钥对所述请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成所述加密数据,并采用HTTPS通信协议将所述接口签名和所述加密数据发送至所述服务器。
本申请第三方面实施例提供一种客户端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的API接口数据的通信方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的API接口数据的通信方法。
由此,本申请至少具有如下有益效果:
可以将所有接口参数按照一定规则进行签名,通过使用接口签名,可以防止接口数据被伪造篡改、接口被重复调用,并对请求内容进行加密及编码,可以有效避免接口数据被篡改,提升接口数据通信的安全性,提升用户的使用体验。由此,解决了相关技术中API接口在数据通信时接口数据容易被篡改,通信的安全性较低,用户体验较差等技术问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的API接口数据的通信方法的流程示意图;
图2为根据本申请实施例提供的接口参数的加密方式示意图;
图3为根据本申请实施例提供的API接口数据的通信方法的应用场景示例图;
图4为根据本申请实施例提供API接口数据的通信装置的方框示意图;
图5为根据本申请实施例提供的客户端的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
由于未进行安全处理的开放API接口都是明文存在诸多的风险,例如,网页只要抓下包就能清楚的知道该请求获取到的数据,即可伪造请求去获取篡改或攻击服务器,对公司以及客户造成的损失都是不可修补,因此,需要保证API接口数据的安全。
相关技术中,主要是采用RSA加密,能保证数据的安全性及完整性,然而,相关技术中API接口在数据通信时接口数据容易被篡改,通信的安全性较低,用户体验较差。为此,本申请实施例提出了API接口数据的通信方法、装置、客户端及存储介质,可以防篡改控制或模拟、保证用户的敏感信息被泄露、防止被攻击,保证接口的数据不会被篡改;保证请求身份来源的合法性;保证请求的唯一性。
下面参考附图描述本申请实施例的API接口数据的通信方法、装置、客户端及存储介质。具体而言,图1为本申请实施例所提供的一种API接口数据的通信方法的流程示意图。
如图1所示,该API接口数据的通信方法包括以下步骤:
在步骤S101中,获取API接口的接口参数和请求数据。
其中,接口参数包括应用标识、随机字符串、交易流水号、请求时间戳和接口编码中的一种或多种参数;请求数据是指业务请求数据body。
需要说明的是,接口参数和请求数据均属于请求报文参数,请求报文参数包括:应用标识(appId)、随机字符串(randomstr)、交易流水号(transationid)、请求时间戳(timestamp)、接口编码(apiCode)、数据签名(sign)、业务请求数据(body)和转为json格式字符串。其中,应用标识可以为18位;随机字符串可以为32位由字母和数字组合得到;交易流水号可以为40位,由App端生成,生成规则:18appId+YYYYMMDDHHMISS+8位流水号;请求时间戳格式为:YYYYMMDDHHMIssSSS。
可以理解的是,本申请实施例的方法的执行主体为客户端,因此,在与服务端通信时,客户端采集接口参数和请求数据。
在步骤S102中,利用预设签名规则对接口参数进行签名,生成接口签名。
可以理解的是,接口提供方和接口调用方约定好统一签名规则,客户端将所有请求参数按一定规则生成签名sign,从而通过使用接口签名,防止接口数据被伪造篡改、接口被重复调用。
其中,服务端提供应用标识、通用秘钥(secretKey),客户端可以利用服务端提供的参数对参数加签,所涉及代码如下:
(1)设置应用标识参数requestBase.setAppId(appId);
(2)设置时间戳格式:String timestamp=
"20220224142900";requestBase.setTimestamp(timestamp+"001");
(3)设置流水号组成方式:
String transationid=appId+timestamp+"15146935";
(4)生成随机字符串:
requestBase.setRandomstr("ycjlkyt04c5qn2t5zbbeidrwlnqseb8d");
(5)生成json格式:
body requestBase.setBody(JsonUtil.writeValueAsString(genRequestBody()));
(6)设置接口编码requestBase.setApiCode("v3/ant");
(7)参数加签:
requestBase.setSign(SignUtil.generateSign(requestBase,secretKey));
(8)生成sign签名内容:
SHA256运算,sign=sha256(stb.toString().getBytes(CHARSET_UTF8))。
在本申请实施例中,利用预设签名规则对接口参数进行签名,生成接口签名,包括:将接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串;将第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串;对第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将第三字符串中所有字符转换为大写,得到接口签名。
其中,第一字符串可以为stringA,第二字符串可以为stringSignTemp,第三字符串可以为Base64格式字符串。
具体而言,如图2所示,接口参数中sign加密方式如下:
1、签名算法使用SHA256;
2、服务方和消费方都需要校验签名;
3、签名生成步骤:
第一步,设所有发送或者接收到的数据为集合M1,将集合M1内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
(1)特别注意以下重要规则:
(2)参数名ASCII码从小到大排序(字典序);
(3)如果参数的值为空不参与签名;
(4)参数名区分大小写;
(5)验证调用返回签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验;
(6)TSP接口可能增加字段,验证签名时需要支持增加的扩展字段。
第二步,在stringA最后拼接上secretKey得到stringSignTemp字符串,并对stringSignTemp进行SHA256运算,将SHA256运算结果输出成Base64格式字符串,再将得到的字符串所有字符转换为大写,得到sign值signValue。
在步骤S103中,根据服务器提供的令牌生成加密秘钥,并利用加密秘钥对请求数据进行加密,并编码生成加密数据,将接口签名和加密数据发送给服务器,使得服务器依次对加密数据进行解密和对接口签名进行签名验证。
可以理解的是,本申请实施例可以对body内容加密,加密后再进行编解码转换,即使是被窃取,也很难在有效的时间内进行破解,从而可以有效提升接口数据通信的安全性。
在本申请实施例中,加密秘钥为AES加密秘钥,利用加密秘钥对请求数据进行加密,并编码生成加密数据,包括:利用AES加密秘钥对请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成加密数据。
可以理解的是,本申请实施例可以利用AES加密算法进行加密,并使用Base64编码,具体地:接口提供方和接口调用方约定好加解密算法,在生成签名sign,再对body的值使用AES128加密传输,将AES加密后的值Base64编码后输出,AES秘钥通过接口定期更新。
其中,如图3所示,客户端获取token用于AES加密秘钥,并对body内容加密,所涉及代码如下:
获取token返回AESKEY="D0v5NMeWdQFJibnkjlMYnVn9X44ZuQz1";
使用AES加密算法:
KeyGeneratorkeyGenerator=KeyGenerator.getInstance(AES);byte[]raw=secretKey.getEncoded();SecretKey key=new SecretKeySpec(raw,AES);
Base64编码输出:
BASE64Encoder base64Encoder=new BASE64Encoder();String encript=base64Encoder.encode(encrypted)。
在本申请实施例中,将接口签名和加密数据发送给服务器,包括:采用HTTPS通信协议将接口签名和加密数据发送至服务器。
可以理解的是,为了阻止中间人攻击,本申请实施例可以使用https代替http,尽量避免在网络传输过程中的数据泄露,采用HTTPS通信协议,防止数据明文传输,从而使用HTTPS SSL协议保证网络传输的安全性。
根据上述实施例,如图3所示,客户端可以按照约定的签名郭泽对参数加签,并获取Token,对body内容加密,发送至服务端,服务端解密及验签方式如下:
1.服务端接收请求后进行解密,解密失败返回:AES解密失败,请核对加密算法与原文是否对应;
2.解密验证成功进入验证报文签名的合法性;
3.签名验证失败返回:验证签名不通过;
4.签名验证成功:处理业务数据返回到客户端。
根据本申请实施例提出的API接口数据的通信方法,可以将所有接口参数按照一定规则进行签名,通过使用接口签名,可以防止接口数据被伪造篡改、接口被重复调用,并对请求内容进行加密及编码,可以有效避免接口数据被篡改,提升接口数据通信的安全性,提升用户的使用体验。
其次参照附图描述根据本申请实施例提出的API接口数据的通信装置。
图4是本申请实施例的API接口数据的通信装置的方框示意图。
如图4所示,该API接口数据的通信装置10包括:获取模块100、签名模块200和加密模块300。
其中,获取模块100用于获取API接口的接口参数和请求数据;签名模块200用于利用预设签名规则对接口参数进行签名,生成接口签名;加密模块300用于根据服务器提供的令牌生成加密秘钥,并利用加密秘钥对请求数据进行加密,并编码生成加密数据,将接口签名和加密数据发送给服务器,使得服务器依次对加密数据进行解密和对接口签名进行签名验证。
在本申请实施例中,签名模块200进一步用于将接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串,将第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串,对第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将第三字符串中所有字符转换为大写,得到接口签名。
在本申请实施例中,加密模块300进一步用于利用AES加密秘钥对请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成加密数据,并采用HTTPS通信协议将接口签名和加密数据发送至服务器。
需要说明的是,前述对API接口数据的通信方法实施例的解释说明也适用于该实施例的API接口数据的通信装置,此处不再赘述。
根据本申请实施例提出的API接口数据的通信装置,可以将所有接口参数按照一定规则进行签名,通过使用接口签名,可以防止接口数据被伪造篡改、接口被重复调用,并对请求内容进行加密及编码,可以有效避免接口数据被篡改,提升接口数据通信的安全性,提升用户的使用体验。
图5为本申请实施例提供的客户端的结构示意图。该客户端可以包括:
存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
处理器502执行程序时实现上述实施例中提供的API接口数据的通信方法。
进一步地,客户端还包括:
通信接口503,用于存储器501和处理器502之间的通信。
存储器501,用于存放可在处理器502上运行的计算机程序。
存储器501可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
处理器502可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的API接口数据的通信方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

Claims (8)

1.一种API接口数据的通信方法,其特征在于,包括以下步骤:
获取API接口的接口参数和请求数据;
利用预设签名规则对所述接口参数进行签名,生成接口签名;以及
根据服务器提供的令牌生成加密秘钥,并利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,将所述接口签名和所述加密数据发送给服务器,使得服务器依次对所述加密数据进行解密和对所述接口签名进行签名验证;
其中,所述利用预设签名规则对所述接口参数进行签名,生成接口签名,包括:将所述接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串;将所述第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串;对所述第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将所述第三字符串中所有字符转换为大写,得到所述接口签名。
2.根据权利要求1所述的方法,其特征在于,所述加密秘钥为AES加密秘钥,所述利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,包括:
利用所述AES加密秘钥对所述请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成所述加密数据。
3.根据权利要求1所述的方法,其特征在于,所述将所述接口签名和所述加密数据发送给服务器,包括:
采用HTTPS通信协议将所述接口签名和所述加密数据发送至所述服务器。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述接口参数包括应用标识、随机字符串、交易流水号、请求时间戳和接口编码中的一种或多种参数。
5.一种API接口数据的通信装置,其特征在于,包括:
获取模块,用于获取API接口的接口参数和请求数据;
签名模块,用于利用预设签名规则对所述接口参数进行签名,生成接口签名;以及
加密模块,用于根据服务器提供的令牌生成加密秘钥,并利用所述加密秘钥对所述请求数据进行加密,并编码生成加密数据,将所述接口签名和所述加密数据发送给服务器,使得服务器依次对所述加密数据进行解密和对所述接口签名进行签名验证;
其中,所述签名模块进一步用于:将所述接口参数中的非空参数按照参数名的ASCII码进行排序,并使用URL键值对进行格式拼接,生成第一字符串,将所述第一字符串和服务器提供的通用秘钥进行拼接,生成第二字符串,对所述第二字符串进行哈希运算,并进行Base64格式转换,生成第三字符串,将所述第三字符串中所有字符转换为大写,得到所述接口签名。
6.根据权利要求5所述的装置,其特征在于,所述加密模块进一步用于利用AES加密秘钥对所述请求数据进行加密,并对加密后的请求数据进行Base64格式转换,生成所述加密数据,并采用HTTPS通信协议将所述接口签名和所述加密数据发送至所述服务器。
7.一种客户端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-4任一项所述的API接口数据的通信方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-4任一项所述的API接口数据的通信方法。
CN202210305851.1A 2022-03-25 2022-03-25 Api接口数据的通信方法、装置、客户端及存储介质 Active CN114614994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210305851.1A CN114614994B (zh) 2022-03-25 2022-03-25 Api接口数据的通信方法、装置、客户端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210305851.1A CN114614994B (zh) 2022-03-25 2022-03-25 Api接口数据的通信方法、装置、客户端及存储介质

Publications (2)

Publication Number Publication Date
CN114614994A CN114614994A (zh) 2022-06-10
CN114614994B true CN114614994B (zh) 2024-05-10

Family

ID=81866186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210305851.1A Active CN114614994B (zh) 2022-03-25 2022-03-25 Api接口数据的通信方法、装置、客户端及存储介质

Country Status (1)

Country Link
CN (1) CN114614994B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826623B (zh) * 2022-06-28 2022-09-20 云账户技术(天津)有限公司 一种mock测试报文的处理方法及装置
CN115277096B (zh) * 2022-06-28 2023-07-11 重庆长安汽车股份有限公司 一种数字商品权益管理方法
CN116384352B (zh) * 2023-06-07 2023-08-25 北京拓普丰联信息科技股份有限公司 一种数据集的生成方法、装置、设备和介质
CN117640109B (zh) * 2024-01-26 2024-04-26 远江盛邦(北京)网络安全科技股份有限公司 Api接口安全访问方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512666A (zh) * 2018-04-08 2018-09-07 苏州犀牛网络科技有限公司 Api请求的加密方法、数据交互方法及系统
CN108769027A (zh) * 2018-05-31 2018-11-06 深圳壹账通智能科技有限公司 安全通信方法、装置、移动终端和存储介质
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN110868291A (zh) * 2019-11-26 2020-03-06 普联技术有限公司 一种数据加密传输方法、装置、系统及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2456146B1 (en) * 2010-11-18 2013-06-12 Research In Motion Limited Cross-Component Cryptographic Message Syntax Message Construction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512666A (zh) * 2018-04-08 2018-09-07 苏州犀牛网络科技有限公司 Api请求的加密方法、数据交互方法及系统
CN108769027A (zh) * 2018-05-31 2018-11-06 深圳壹账通智能科技有限公司 安全通信方法、装置、移动终端和存储介质
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN110868291A (zh) * 2019-11-26 2020-03-06 普联技术有限公司 一种数据加密传输方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN114614994A (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
KR102392420B1 (ko) 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계
CN111095256B (zh) 在可信执行环境中安全地执行智能合约操作
CN114614994B (zh) Api接口数据的通信方法、装置、客户端及存储介质
WO2021017128A1 (zh) 登录令牌的生成及验证方法、装置和服务器
WO2021012552A1 (zh) 一种登录处理方法及相关设备
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
JP2001051596A (ja) データ生成装置およびデータ検証装置ならびにその方法
US11374975B2 (en) TLS integration of post quantum cryptographic algorithms
CN106911684B (zh) 一种鉴权方法及系统
US11914754B2 (en) Cryptographic method for verifying data
US11956367B2 (en) Cryptographic method for verifying data
CN112491549A (zh) 数据信息加密校验方法、系统及计算机可读存储介质
CN112784284B (zh) 加密处理系统、加密处理方法以及记录介质
CN108777673B (zh) 一种在区块链中进行双向身份认证方法
CN114244508A (zh) 数据加密方法、装置、设备及存储介质
CN113114654A (zh) 一种终端设备接入安全认证方法、装置及系统
CN115276978A (zh) 一种数据处理方法以及相关装置
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN116506134B (zh) 数字证书管理方法、装置、设备、系统及可读存储介质
CN105635114A (zh) 一种口令校验方法及系统
CN114553566B (zh) 数据加密方法、装置、设备及存储介质
CN115102768A (zh) 一种数据处理方法、装置及计算机设备
Bojanova et al. Cryptography classes in bugs framework (BF): Encryption bugs (ENC), verification bugs (VRF), and key management bugs (KMN)
CN114024702A (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