CN114500037B - 可配置的接口加密方法、装置、计算机设备和存储介质 - Google Patents

可配置的接口加密方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114500037B
CN114500037B CN202210081559.6A CN202210081559A CN114500037B CN 114500037 B CN114500037 B CN 114500037B CN 202210081559 A CN202210081559 A CN 202210081559A CN 114500037 B CN114500037 B CN 114500037B
Authority
CN
China
Prior art keywords
encryption
encrypted data
key
data
encrypted
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
CN202210081559.6A
Other languages
English (en)
Other versions
CN114500037A (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.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202210081559.6A priority Critical patent/CN114500037B/zh
Publication of CN114500037A publication Critical patent/CN114500037A/zh
Application granted granted Critical
Publication of CN114500037B publication Critical patent/CN114500037B/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/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于信息安全技术领域,涉及可配置的接口加密方法、装置、计算机设备和存储介质。该加密方法包括:获取用户选择的加密算法类型信息;生成层次化数据格式JSON数据;对所述JSON数据进行加密,得到第一加密数据;随机生成对称加密密钥和非对称加密私钥;采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据。解决了现有技术约定的密钥容易泄露、安全性不高的问题,同时也解决了现有加密算法兼容性差、不具备可扩展性的问题。同时,本发明还涉及区块链技术。

Description

可配置的接口加密方法、装置、计算机设备和存储介质
技术领域
本发明属于信息安全技术领域,具体涉及可配置的接口加密方法、装置、计算机设备和存储介质。
背景技术
传统接口加密方法,客户端在进行数据加密时,一般采用对称加密的方法,客户端和服务端需要事先约定好加密算法和对应的加密密钥,然后客户端在代码里配置好加密算法和密钥,请求的时候对接口数据进行加密。这样每个客户端对接服务端的时候,都需要约定好对应的加密方法,容易发生加密方法和密钥泄露的隐患,系统安全性不高,存在可能被外部破解的风险。
另外,传统接口加密方法,会将加密后的数据通过http/https进行请求传输,如果加密数据量大的情况下,传输速度较慢。
鉴于以上,现有加密算法一是存在约定的密钥容易泄露、安全性不高的问题,二是存在仅支持约定的算法进行加解密,算法兼容性差、不具备可扩展性的问题。
发明内容
本发明的技术解决问题是:针对现有技术的不足,提供一种可配置的接口加密方法、装置、计算机设备和存储介质,解决了现有技术约定的密钥容易泄露、安全性不高的问题,同时也解决了现有加密算法兼容性差、不具备可扩展性的问题。
本发明的技术解决方案是:
本发明提供的一种可配置的接口加密方法,包括如下步骤:
获取用户选择的加密算法类型信息;
生成层次化数据格式JSON数据;
对所述JSON数据进行加密,得到第一加密数据;
根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥;
采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;
采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;
对所述第一加密数据、所述第二加密数据和所述第三加密数据进行拼接,得到接口加密数据。
所述获取用户选择的加密算法类型信息的步骤,包括:
获取用户选择的对称加密算法和非对称加密算法,得到加密算法类型信息。
所述根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥的步骤,包括:
根据所述用户选择的对称加密算法,随机生成通用唯一识别码,确定为对称加密密钥;
根据所述用户选择的非对称加密算法,采用密钥生成器,随机生成非对称加密私钥。
进一步地,所述对所述JSON数据进行加密,得到第一加密数据的步骤,包括:
对所述JSON数据进行基于64个字符的编码方法加密,得到第一加密数据。
进一步地,所述采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据的步骤,包括:
将预设的接口请求参数转换成JSON字符串;
将所述JSON字符串转换成第一字节数组;
通过密码类的执行,将所述第一字节数组进行加密,得到第一加密后的字节数组;
将所述第一加密后的字节数组转换成第一加密字符串;
将所述第一加密字符串通过基于64个字符的编码方法进行加密,得到第二加密数据。
进一步地,所述采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据的步骤,包括:
将所述对称加密密钥字符串转换成第二字节数组;
通过密码类的执行,将所述第二字节数组进行加密,得到第二加密后的字节数组;
将所述第二加密后的字节数组转换成第二加密字符串;
将所述第二加密字符串通过基于64个字符的编码方法进行加密,得到第三加密数据。
进一步地,所述对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据的步骤,包括:
对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行字符串顺序拼接,得到接口加密数据。
本发明提供的一种可配置的接口加密装置,包括:
信息获取模块,用于获取用户选择的加密算法类型信息;
JSON数据生成模块,用于生成层次化数据格式JSON数据;
第一加密数据生成模块,用于对所述JSON数据进行加密,得到第一加密数据;
密钥生成模块,用于根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥;
第二加密数据生成模块,用于采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;
第三加密数据生成模块,用于采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;
接口加密数据生成模块,用于对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据。
本发明实施例提供的一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述可配置的接口加密方法的步骤。
本发明实施例提供的一种存储介质,存储有能够实现上述可配置的接口加密方法的程序文件。
本发明的有益效果是:
(1)采用本发明提供的加密方法,客户端的用户可以自由选择加密算法,服务端平台会根据用户选择随机生成加密密钥,这样增加了方法的可配置性和密钥的随机性。
(2)本发明提供的加密方法能够兼容不同客户端的接入,不用每一次都约定加密方法和密钥,增强了对接效率,减少了开发人员的沟通成本。
(3)由于加密算法和密钥都是从服务端平台获取的,所以不用由开发人员自己配置,增加了系统的安全性。
(4)本发明的数据最终通过一种基于64个字符的编码方法进行加密,增强了数据的不可见性。
附图说明
图1是现有技术的加密方法示意图。
图2是本发明提供的加密方法示意图。
图3是本发明实施例提供的加密方法流程图。
图4是本发明实施例提供的加密装置示意图。
图5是本发明一个实施例中的计算机设备的结构示意图。
图6是本发明一个实施例中的存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在正式介绍本发明实施例之前,先对发明涉及的技术术语进行解释说明如下:
①对称加密:
采用单密钥系统加密的方法,同一个密钥可以同时用作信息的加密和解密。
常用的对称加密算法有:AES、DES、3DES。
②非对称加密:
非对称加密需要两个密钥来进行加密和解密,一个是publicKey,一个是privateKey。
常用的非对称加密算法有:RSA、DSA、ECDSA。
③JSON格式:
JSON格式,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。
④业务数据:
主要是指接口请求参数,比如用户数据,流程数据等等。
⑤UUID:
UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。
⑥JDK:
JAVA开发语言自带的软件开发工具包。
⑦BASE64:
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
Base64编码的作用:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。而base64特别适合在http,mime协议下快速传输数据。
如图1所示,现有接口数据加密的流程如下:
(1)客户端和服务端约定加密算法和密钥值。比如约定对称加密采用AES算法及定好AES密钥,非对称加密采用RSA算法及定好公私钥。
(2)采用AES算法+AES key对业务数据进行加密,生成密文数据。
(3)采用RSA算法+RSA PrivateKey对AES key进行加密,生成加密密钥。
(4)最后将两部分的加密数据组成加密后的请求数据。
现有接口数据加密存在可配置性弱、系统安全性低的问题。
请参考图2和图3,图3是本发明一个实施例提供的一种可配置的接口加密方法,包括如下步骤S101至S105:
S101、获取用户选择的加密算法类型信息。
需要说明的是,本实施例的对称加密密钥采用AES Key,非对称加密私钥采用RSAPrivateKey。
AES Key:是一种对称加密密钥。对称加密是采用单密钥系统加密的方法,同一个密钥可以同时用作信息的加密和解密。常用的对称加密算法有:AES、DES、3DES。
RSA PrivateKey:是一种非对称加密私钥。非对称加密需要两个密钥来进行加密和解密,一个是privateKey用于加密,一个是publicKey用于解密。常用的非对称加密算法有:RSA、DSA、ECDSA。
其中,对称加密密钥AES Key用于对业务数据进行加密,非对称加密私钥RSAPrivateKey用于对AES key进行加密。这里所说的业务数据,主要是指预设的接口请求参数,比如用户数据、流程数据等。
具体地,该步骤进一步包括:获取用户选择的对称加密算法和非对称加密算法,得到加密算法类型信息。
客户端开发人员选择对称加密算法和非对称加密算法,比如对称加密算法可以选择“AES”,非对称加密算法可以选择“RSA”。
服务端提供一个算法配置页面,供客户端开发人员选择,此页面主要有对称加密算法选择项(AES、DES、3DES)、非对称加密算法选择项(RSA、DSA、ECDSA)、非对称加密密钥长度(1024、2048、4096)。
例:客户端A开发人员在配置页面选择了“AES”、“RSA”、“1024”。
服务端根据用户ID记录保存用户选择的加密算法类型信息。例如保存的信息有:客户端用户A的“ID”、对称算法类型“AES”、非对称算法类型“RSA”、非对称加密密钥长度“1024”。
S102、根据用户选择的加密算法类型信息,生成层次化的数据格式JSON数据。
JSON数据:JSON格式,是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。此JSON数据为服务端选择信息,主要包含:对称算法类型(sym_tye)、非对称算法类型(assym_type)、非对称算法密钥长度(key_size)。
例:服务端的密钥服务根据客户端A的选择,生成JSON数据:
{"sym_type":"AES","assym_type":"RSA","key_size":"1024"}
S103、对所述JSON数据进行加密,得到第一加密数据。
该步骤具体包括:对所述JSON数据进行BASE64加密,得到第一加密数据。
例:将步骤S102的JSON数据
{"sym_type":"AES","assym_type":"RSA","key_size":"1024"}
进行BASE64加密,得到第一加密数据:
eyJzeW1fdHlwZSI6IkFFUyIsICJhc3N5bV90eXBlIjoiUlNBIiwgImtleV9zaXplIjoiMTAyNCJ9
S104、根据所述用户选择的加密算法类型信息,自动随机生成对称加密密钥AESKey和非对称加密私钥RAS PrivateKey两个密钥。
客户端在发送请求前调用获取密钥信息服务来获取根据上一步选择随机生成密钥。客户端在加密业务数据之前,调用这个服务获取两个随机的密钥(AES Key和RASPrivateKey)。
随机生成通用唯一识别码,确定为对称加密密钥。对称加密密钥AES Key采用随机生成16位通用唯一识别码UUID方法生成。
采用密钥生成器,随机生成非对称密钥对。非对称密钥对采用java语言工具包JDK自带的密钥生成器KeyPairGenerator提供的方法随机生成。
UUID:UUID含义是通用唯一识别码(Universally Unique Identifier),UUID是一个128比特的数值,为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。16位UUID可以简单理解成由16位数字字母组成。
KeyPairGenerator是java语言工具包JDK里的一个类,用于生成公钥和私钥对。
服务端通过密钥生成器KeyPairGenerator的getInstance方法(getInstance方法用到算法类型和密钥长度两个参数)生成非对称密钥对。
例:客户端发送请求前,调用服务端获取随机密钥。根据对称算法选择的是“AES”:服务端的密钥服务通过UUID自带的randomUUID方法,生成128位数值,然后通过截取前16位方法获取到16位随机UUID:“AES Key:25F1A8F977724601”;根据非对称算法选择的是“RSA”,长度是“1024”。
RSA PublicKey:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1nS/ioBnTvyJ1fCz968CNGY2QP8rVFqkV2I2RWv2sFKXjhu7fJChDYSU7veMvZjtJk+zeZDeOPnZu6j4yUIdo7aQJ7NdnsM1kpRF++Lbc86l7QB2qnpM3YSPT2/5atHuEIsD2TIpWzozLWWTjezFNteOsQBwGi1g3dFgFrmsOdQIDAQAB
RSA PrivateKey:
MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALWdL+KgGdO/InV8LP3rwI0ZjZA/ytUWqRXYjZFa/awUpeOG7t8kKENhJTu94y9mO0mT7N5kN44+dm7qPjJQh2jtpAns12ewzWSlEX74ttzzqXtAHaqekzdhI9Pb/lq0e4QiwPZMilbOjMtZZON7MU2146xAHAaLWDd0WAWuaw51AgMBAAECgYEAsDAlE2uUgrrrmCR2lYQP0hMXJfjtMpqAQMRMWtZ2QGnroXb26B1wviVRdMq7yvEX1UKfygRZbTKlvOacnj1Hjtj9/vLk1gzSry/E+L2oegKTlM6jzbSCq5zdOIhPpUvQqMO4H/w7sgknUw3hhVARIfmyFd++pAqkFx5MQNKisiUCQQD942zPO6qUlyhpmSfGoM2lQEkimQQGc4Kog+UHpUdjiNLFwM57uwa4qa2p0joyZJujtAO2EmJlEg5ii/8EamKbAkEAtx/gajBgbxYJEedt6BIGzmDa+SLrIb9mYjy05O2ldrd1+7BdJBlWta1F35UYtPxHyui3qMs+XOF4lkhysO4cLwJANAz4NdRJuIT06BFaMkKtZn+zfsBYLupnkxzXS6X66NEYRSquKnfBfQJsdDCBdetibUFusVk7ivUUted1tPYKmQJBAKYWk0O8fLpEEhXbASPqtaGY1wH/WaNSJVoUFT1NDTWPT8LnQpLrKGm+rhEK+U2tQrAWQf0l2XoERYqISv2N+KECQQCFotVlcjLlNxRQ/Cl7O+Bp51P+QYgE8iazAynOGmFp8cKYN3ZtmblNTolf6xI5plrFwcVRm2ygmnRSzKBqYrto
S105、采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据。
该步骤进一步包括:
(1)将所述接口请求参数转换成JSON字符串;
(2)将所述JSON字符串转换成第一字节数组;
(3)通过密码类Cipher的doFinal执行操作,将所述第一字节数组进行加密,得到第一加密后的字节数组;
Cipher类提供用于加密和解密的功能,属于现有技术,在此不做详述。它构成了Java加密扩展(JCE)框架的核心。
(4)将所述第一加密后的字节数组转换成第一加密字符串;
(5)将所述第一加密字符串通过BASE64进行加密,得到第二加密数据。
BASE64是一种基于64个字符的编码方法,该加密技术是现有技术,在此不再详述。
例:客户端A将业务数据,比如(phoneNo)手机号为“13312345678”转成JSON串:{"phoneNo":"13312345678"},然后对这个业务数据JSON串进行加密生成加密串:
wOKqyo9GaQi7MNb1bTFNAzkMSGWfU6wkqzEuv5t2Taw=
S106、采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据。
该步骤进一步包括:
(1)将所述对称加密密钥AES Key字符串转换成第二字节数组;
(2)通过密码类Cipher的doFinal执行操作,将所述第二字节数组进行加密,得到第二加密后的字节数组;
Cipher类提供用于加密和解密的功能,属于现有技术,在此不做详述。它构成了Java加密扩展(JCE)框架的核心。
(3)将所述第二加密后的字节数组转换成第二加密字符串;
(4)将所述第二加密字符串通过BASE64进行加密,得到第三加密数据。
BASE64是一种基于64个字符的编码方法,在此不再详述。
S107、对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据。
该步骤具体为:对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行字符串顺序拼接,得到接口加密数据。
这里的字符串顺序拼接,是将数据按照先后顺序连接起来。
例:将上述第一加密数据、第二加密数据、和第三加密数据拼接成:
wOKqyo9GaQi7MNb1bTFNAzkMSGWfU6wkqzEuv5t2Taw=.sqBeH1dAzg8c9BQHRbhdVDskDczTCVRRBy+kVo9i2paqyx/WerX5zItON1g4WwEOym/VTdCHV7PToNCL7/upQeVUPBDjTqzq0UTUAqlQVWD7oAMgcYvEzc4px7srQXenYaWQ2dEV/as9+VjogBueI9nrt0juzSjrRepsle6Yr2g=.eyJzeW1fdHlwZSI6IkFFUyIsICJhc3N5bV90eXBlIjoiUlNBIiwgImtleV9zaXplIjoiMTAyNCJ9
如图4所示,本发明实施例提供的一种可配置的接口加密装置,包括:
信息获取模块201,用于获取用户选择的加密算法类型信息;
JSON数据生成模块202,用于生成层次化数据格式JSON数据;
第一加密数据生成模块203,用于对所述JSON数据进行加密,得到第一加密数据;
密钥生成模块204,用于根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥;其中,所述对称加密密钥用于对接口请求参数进行加密,所述非对称加密私钥用于对所述对称加密密钥进行加密;
第二加密数据生成模块205,用于采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;
第三加密数据生成模块206,用于采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;
接口加密数据生成模块207,用于对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据。
其中,上述各功能模块详细说明如下:
(一)信息获取模块
获取用户选择的对称加密算法和非对称加密算法。
(二)JSON数据生成模块
JSON数据是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。此JSON数据为服务端选择信息,主要包含:对称算法类型(sym_tye)、非对称算法类型(assym_type)、非对称算法密钥长度(key_size)。
(三)第一加密数据生成模块,进一步包括:
对所述JSON数据进行基于64个字符的编码方法加密,得到第一加密数据。
(四)密钥生成模块,进一步包括:
选择一种对称加密算法和一种非对称加密算法。客户端开发人员根据密钥服务提供的算法配置页面,选择一种对称加密算法和一种非对称加密算法,并选取非对称加密密钥长度。
根据用户ID记录保存用户选择的加密算法类型信息。
根据所述用户选择的加密算法类型信息,自动随机生成对称加密密钥AES Key和非对称加密私钥RAS PrivateKey两个密钥。
客户端在发送请求前会调用密钥服务中的获取密钥信息服务来获取根据上一步选择随机生成密钥。客户端在加密业务数据之前,会调用这个服务获取到两个随机的密钥(AES Key和RAS PrivateKey)。
对称加密密钥AES Key采用随机生成16位UUID方法生成。密钥服务通过UUID自带的randomUUID方法,生成128位数值,然后通过截取前16位方法获取到16位随机UUID。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识;16位UUID可以理解成由16位数字字母组成的。采用16位的UUID可以提高效率。
非对称密钥对采用JDK自带的KeyPairGenerator提供的方法随机生成。KeyPairGenerator是JDK里的一个类,用于生成公钥和私钥对。密钥服务通过KeyPairGenerator的getInstance方法(getInstance方法用到算法类型和密钥长度两个参数)生成非对称密钥对。
(五)第二加密数据生成模块,进一步包括:
将预设的接口请求参数转换成JSON字符串;
将所述JSON字符串转换成第一字节数组;
通过密码类Cipher的doFinal执行操作,将所述第一字节数组进行加密,得到第一加密后的字节数组;
将所述第一加密后的字节数组转换成第一加密字符串;
将所述第一加密字符串通过BASE64进行加密,得到第二加密数据。
(六)第三加密数据生成模块,进一步包括:
将所述对称加密密钥AES Key字符串转换成第二字节数组;
通过密码类Cipher的doFinal执行操作,将所述第二字节数组进行加密,得到第二加密后的字节数组;
将所述第二加密后的字节数组转换成第二加密字符串;
将所述第二加密字符串通过BASE64进行加密,得到第三加密数据。
(七)接口加密数据生成模块,进一步包括:
对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行字符串顺序联接,得到接口加密数据。
上述步骤中,Cipher类提供用于加密和解密的功能,属于现有技术,在此不做详述;它构成了Java加密扩展(JCE)框架的核心。BASE64是一种基于64个字符的编码方法,该加密技术是现有技术,在此不再详述。
请参考图5,图5为本发明实施例的计算机设备的结构示意图。该计算机设备300包括处理器301以及与处理器301电连接的存储器302。
存储器302存储有用于实现上述任一实施例所述可配置的接口加密方法的程序指令。
处理器301用于执行存储器302存储的程序指令。
其中,处理器301还可以称为CPU(Central Processing Unit,中央处理单元)。处理器301可能是一种集成电路芯片,具有信号的处理能力。处理器301还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图6,图6为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件401,其中,该程序文件401可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
同时,本发明还涉及区块链技术。在一个可选的实施方式中,还可以将所述可配置的接口加密方法的程序指令上传至区块链中。
将所述可配置的接口加密方法的程序指令上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得到该程序指令,以便查证所述可配置的接口加密方法的程序指令是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种可配置的接口加密方法,其特征在于,包括如下步骤:
获取用户选择的加密算法类型信息;
根据所述用户选择的加密算法类型信息,生成层次化数据格式JSON数据;
对所述JSON数据进行加密,得到第一加密数据;
根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥;
采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;
采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;
对所述第一加密数据、所述第二加密数据和所述第三加密数据进行拼接,得到接口加密数据。
2.根据权利要求1所述的一种可配置的接口加密方法,其特征在于,所述获取用户选择的加密算法类型信息的步骤,包括:
获取用户选择的对称加密算法和非对称加密算法,得到加密算法类型信息。
3.根据权利要求2所述的一种可配置的接口加密方法,其特征在于,所述根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥的步骤,包括:
根据所述用户选择的对称加密算法,随机生成通用唯一识别码,确定为对称加密密钥;
根据所述用户选择的非对称加密算法,采用密钥生成器,随机生成非对称加密私钥。
4.根据权利要求1所述的一种可配置的接口加密方法,其特征在于,所述对所述JSON数据进行加密,得到第一加密数据的步骤,包括:
对所述JSON数据进行基于64个字符的编码方法加密,得到第一加密数据。
5.根据权利要求1所述的一种可配置的接口加密方法,其特征在于,所述采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据的步骤,包括:
将预设的接口请求参数转换成JSON字符串;
将所述JSON字符串转换成第一字节数组;
通过密码类的执行,将所述第一字节数组进行加密,得到第一加密后的字节数组;
将所述第一加密后的字节数组转换成第一加密字符串;
将所述第一加密字符串通过基于64个字符的编码方法进行加密,得到第二加密数据。
6.根据权利要求1所述的一种可配置的接口加密方法,其特征在于,所述采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据的步骤,包括:
将所述对称加密密钥字符串转换成第二字节数组;
通过密码类的执行,将所述第二字节数组进行加密,得到第二加密后的字节数组;
将所述第二加密后的字节数组转换成第二加密字符串;
将所述第二加密字符串通过基于64个字符的编码方法进行加密,得到第三加密数据。
7.根据权利要求1所述的一种可配置的接口加密方法,其特征在于,所述对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据的步骤,包括:
对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行字符串顺序拼接,得到接口加密数据。
8.一种可配置的接口加密装置,其特征在于,包括:
信息获取模块,用于获取用户选择的加密算法类型信息;
JSON数据生成模块,用于根据所述用户选择的加密算法类型信息,生成层次化数据格式JSON数据;
第一加密数据生成模块,用于对所述JSON数据进行加密,得到第一加密数据;
密钥生成模块,用于根据所述用户选择的加密算法类型信息,随机生成对称加密密钥和非对称加密私钥;
第二加密数据生成模块,用于采用所述对称加密密钥,对预设的接口请求参数进行对称加密,得到第二加密数据;
第三加密数据生成模块,用于采用所述非对称加密私钥,对所述对称加密密钥进行加密,得到第三加密数据;
接口加密数据生成模块,用于对所述第一加密数据、所述第二加密数据、和所述第三加密数据进行拼接,得到接口加密数据。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的可配置的接口加密方法的步骤。
10.一种计算机可读存储介质,存储计算机程序,所述计算机程序可被处理器执行以实现权利要求1-7中的任一项所述的方法步骤。
CN202210081559.6A 2022-01-24 2022-01-24 可配置的接口加密方法、装置、计算机设备和存储介质 Active CN114500037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210081559.6A CN114500037B (zh) 2022-01-24 2022-01-24 可配置的接口加密方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210081559.6A CN114500037B (zh) 2022-01-24 2022-01-24 可配置的接口加密方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114500037A CN114500037A (zh) 2022-05-13
CN114500037B true CN114500037B (zh) 2023-02-28

Family

ID=81473695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210081559.6A Active CN114500037B (zh) 2022-01-24 2022-01-24 可配置的接口加密方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114500037B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
WO2021208690A1 (zh) * 2020-11-11 2021-10-21 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
CN113726725A (zh) * 2020-12-29 2021-11-30 京东数字科技控股股份有限公司 一种数据加解密方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
WO2021208690A1 (zh) * 2020-11-11 2021-10-21 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
CN113726725A (zh) * 2020-12-29 2021-11-30 京东数字科技控股股份有限公司 一种数据加解密方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114500037A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN110188551B (zh) 一种保单加密传输方法及系统
CN110138739B (zh) 数据信息加密方法、装置、计算机设备及存储介质
US8995653B2 (en) Generating a secret key from an asymmetric private key
CN113259132B (zh) 数据传输加解密方法、装置、计算机设备及存储介质
CN112738051B (zh) 数据信息加密方法、系统及计算机可读存储介质
CN113259133A (zh) 基于http协议的加密通讯方法、设备及存储介质
CN108667784B (zh) 互联网身份证核验信息保护的系统和方法
CN114614994B (zh) Api接口数据的通信方法、装置、客户端及存储介质
CN111404892B (zh) 数据监管方法、装置和服务器
JP6930053B2 (ja) 装置認証キーを利用したデータ暗号化方法およびシステム
CN112291268A (zh) 信息的传输方法、装置、设备以及存储介质
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN110968878B (zh) 信息传输方法、系统、电子设备及可读介质
CN114500037B (zh) 可配置的接口加密方法、装置、计算机设备和存储介质
CN116455572A (zh) 数据加密方法、装置及设备
CN116707778A (zh) 数据混合加密传输方法、装置和电子设备
CN115941187A (zh) 一种基于md5的不可逆随机加盐加密方法及系统
CN109361506A (zh) 信息处理方法
CN114936012A (zh) 一种加密扫描二维码实现投屏的方法及其装置
Ainul et al. An Encrypted QR Code Using Layered Numeral Calculation for Low Powered Devices
CN114430549A (zh) 一种适用于无线通信的白盒加解密方法与装置
CN112528309A (zh) 一种数据存储加密和解密的方法及其装置
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN100546242C (zh) 一种超级密码的生成和认证方法
CN114125830B (zh) 一种app数据的加密传输方法、设备及介质

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