SHA256加密算法接口测试

发表于:2020-5-13 10:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Android架构骆驼    来源:简书

  前言
  小伙伴们在做接口测试的时候,是否遇到一些需要加密的接口,但是不知如何进行测试呢?今天我们来学习一下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-512/224、SHA-512/256。这些变体除了生成摘要的长度 、循环运行的次数等一些微小差异外,
  算法的基本结构是一致的。对于任意长度的消息,SHA256都会产生一个256bit长的哈希值,称作消息摘要。这个摘要相当于是个长度为32个字节的数组,通常用一个长度为64的十六进制字符串来表示。
  算法特点
  单向加密,不可解密
  同明文,同密文
  应用场景
  网站验证密码,为了保证安全,不会储存明文密码,而是直接储存 hash
  SHA256加密算法的接口测试
  接口地址: http://47.96.181.17:8098/login
  返回格式: json
  请求方式: POST
  请求参数:{"userName":"您的用户名","password":"sha256加密后的密码"}
  请求头:
  键:Content-Type 值:application/x-www-form-urlencoded
  键:X-Requested-With 值:XMLHttpRequest
  成功返回示例:
   {
  'jumpUrl': 'index',
  'success': 'true',
  'systemUser': {'avatarName': None,
  'avatarPath': 'file/avatar/2020-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=hashlib.sha256()
  #2.加密原始值-比如密码,需要将字符串转成bytes(字节)
  sha256.update('111111'.encode('utf-8'))
  #print(sha256.hexdigest())
  header={"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"}
  #3.发送登录接口信息
  body={"userName":"sqqdcl","password":sha256.hexdigest()}
  resp=requests.post('http://47.96.181.17:8098/login',data=body,headers=header)
  print(resp.text)
   成功返回的结果截图:
  失败返回的结果截图:


       本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号