前言于是软件测试也得到了很多的关注,也想加入到这个行列当中。
小伙伴们在做接口测试的时候,是否遇到一些需要加密的接口,但是不知如何进行测试呢?今天我们来学习一下sha256加密算法接口如何进行测试的。
sha256加密算法介绍:
比特币挖矿的御用算法
sha256是sha-2下细分出的一种算法
sha-2,名称来自于安全散列算法2(英语:secure hash algorithm 2)的缩写,一种密码散列函数算法标准(哈希算法),由美国国家安全局研发,属于sha算法之一,是sha-1的后继者。
sha-2下又可再分为六个不同的算法标准,包括了:sha-224、sha-256、sha-384、sha-512、sha-512224、sha-512256。这些变体除了生成摘要的长度 、循环运行的次数等一些微小差异外,
算法的基本结构是一致的。对于任意长度的消息,sha256都会产生一个256bit长的哈希值,称作消息摘要。这个摘要相当于是个长度为32个字节的数组,通常用一个长度为64的十六进制字符串来表示。
算法特点
单向加密,不可解密
同明文,同密文
应用场景
网站验证密码,为了保证安全,不会储存明文密码,而是直接储存 hash
sha256加密算法的接口测试
接口地址: :479618117:8098login
返回格式: json
请求方式: post
请求参数:{"username":"您的用户名","password":"sha256加密后的密码"}
请求头:
键:content-type 值:applicationx-www-form-urlencoded
键:x-requested-with 值:xmlhttprequest
成功返回示例: {
'jumpurl': 'index',
'success': 'true',
'systemuser': {'avatarname': none,
'avatarpath': 'fileavatar2020-02-06',
'nickname': 'sqqdcl3',
'rememberme': false,
'securitydigest': none,
'userid': '1',
'username': 'sqqdcl'}
}
失败返回示例:{'error': {'password': '密码错误'}, 'success': 'false'}
python实现sha加密传输: import requests
import hashlib
#1实例化一个sha256对象
sha256=hashlibsha256()
#2加密原始值-比如密码,需要将字符串转成bytes(字节)
sha256update('111111'encode('utf-8'))
#print(sha256hexdigest())
header={"content-type":"applicationx-www-form-urlencoded","x-requested-with":"xmlhttprequest"}
#3发送登录接口信息
body={"username":"sqqdcl","password":sha256hexdigest()}
resp=requestspost(':479618117:8098login',data=body,headers=header)
print(resptext) 成功返回的结果截图:
失败返回的结果截图: