如果使用私钥对数据进行加密,只有用对应的公钥才能进行解密。
下面以Jmete为例介绍如何实现加密接口的处理,目前有一接口在服务器实现逻辑处理以前会对接口数据进行SHA加密,服务器获取到加密接口数据以后先解密和验证数据是否合法有效,再进行逻辑处理。针对这种接口测试的时候,在发起请求以前,我们需要对接口进入如下特殊处理:
如果使用公钥对数据进行加密,只有用对应的私钥才能进行解密。
根据上述常见的加密算法,测试人员在测试不同的加密接口可采用下述的方法处理加密接口
对称加密算法:造接口数据前从开发获取对称公钥,基于对称公钥可以加密请求数据,解密响应报文。
对称加密
在发起接口请求以前,对接口明文数据进行预处理,在Jmeter的接口实现中,可以通过添加Beanshell脚本,在Beanshell脚本中基于上一个步骤获取到的信息,采用和服务端相同的加密方法和加密流程对接口明文进行加密和编码
数据解密:数据接收方收到密文后,使用加密的密钥及相同算法的逆算法对加密的密文进行解密,将使其恢复成可读明文。
摘要算法不要秘钥,客户端和服务端采用相同的摘要算法即可针对同一段明文获取一致的密文
非对称加密
摘要算法:造接口数据前调用MDSHA1进行编码,服务端对比编码后的字符串是否一致。
非对称加密算法,有两个密钥,一个称为公开密钥(publickey),另一个称为私有密钥(privatekey),加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。
对明文编码生成信息摘要,以防止被篡改。比如MD5使用的是Hash算法,无论多长的输入,MD5都会输出长度为128bits的一个串。
对称加密算法是共享密钥加密算法,在加密解密过程中,使用的密钥只有一个。发送和接收双方事先都知道加密的密钥,均使用这个密钥对数据进行加密和解密。
常见加密算法的处理方式
非对称加密算法:造接口数据前从开发获取公钥私钥去加密解密接口数据
数据加密:在对称加密算法中,数据发送方将明文(原始数据)和加密密钥一起经过加密处理,生成复杂的密文进行发送。
文章为作者独立观点,不代表股票交易接口观点