当前位置: 首页 > news >正文

石家庄pc端网站建设各网站文风

石家庄pc端网站建设,各网站文风,太原做网站的公司排行,wordpress站所有分类不显示一、对称加密 对称加密算法是共享密钥加密算法#xff0c;在加密解密过程中#xff0c;使用的密钥只有一个。发送和接收双方事先都知道加密的密钥#xff0c;均使用这个密钥对数据进行加密和解密。 数据加密#xff1a;在对称加密算法中#xff0c;数据发送方将明文 (原…一、对称加密 对称加密算法是共享密钥加密算法在加密解密过程中使用的密钥只有一个。发送和接收双方事先都知道加密的密钥均使用这个密钥对数据进行加密和解密。 数据加密在对称加密算法中数据发送方将明文 (原始数据) 和 加密密钥一起经过加密处理生成复杂的密文进行发送。 数据解密数据接收方收到密文后使用加密的密钥及相同算法的逆算法对加密的密文进行解密将使其恢复成可读明文。 二、非对称加密 非对称加密算法有两个密钥一个称为公开密钥 (publickey)另一个称为 私有密钥 (private key)加密和解密使用的是两个不同的密钥所以这种算法称为非对称加密算法。 如果使用公钥对数据进行加密只有用对应的私钥才能进行解密。 如果使用私钥对数据进行加密只有用对应的公钥才能进行解密。 三、常见加密处理方式 根据上述常见的加密算法测试人员在测试不同的加密接口可采用下述的方法处理加密接口 摘要算法MD5.SHA1 造接口数据前调用MD5SHA1进行编码服务端对比编码后的字符串是否一致 对称加密算法AES,DES 造接口数据前从开发获取对称公钥基于对称公钥可以加密请求数据解密响应报文 非对称加密算法RSA造接口数据前从开发获取公钥私钥去加密解密接口数据 用户认证一般的接口测试工具都会提供一个User Auth/Authorization的选项 1、OAuth 2.0认证 在对应的工具上你可以选取对应的用户认证选项如果用Python如何实现用户认证。 首先安装Requests库Requests库的get()和post()方法均提供有auth参数用于设置用户签名。假定我们有一个接口为添加一个新的公告接口需要认证auth(username,password)nid 或 name两个参数二选一伪代码 highlighter- ruby def test_get_notice_list_nid_sucess(self):auth_user (admin , admin123456)r requests.get(self.base_url, auth auth_user, params {nid : 1})result r.json()self.assertEqual(result[status], 200) 2、数字签名 在使用 HTTP/SOAP 协议传输数据的时候签名作为其中一个参数可以起到关键作用 先来一个简单的通过客户的密钥服务端的密钥匹配 这个很有好理解例如一个接口传参为 highlighter- awk http://127.0.0.1:8000/api/?a1b2 假设签名的密钥为signpassword 加上签名之后的接口参数为 highlighter- awk http://127.0.0.1:8000/sign/?a1b2signsignpassword 但是这样的sign 参数明文传输是不安全的,一般会选择一些加密算法比如MD5 算法MD5算法是不可逆向的比如MD5代码如下 highlighter- stylus import hashlib md5 hashlib.md5() sign_str signpassword sign_bytes_utf8 sign_str.encode() md5.update(sign_bytes_utf8) sign_md5 md5.hexdigest() print(sign_md5) 执行后得到6648e929329e53e7a91c50ae685a88b5 此时带签名的接口为 highlighter- apache http://127.0.0.1:8000/sign/?a1b2sign6648e929329e53e7a91c50ae685a88b5 所以当服务器接收到请求后同样需要对“signpassword”进行 MD5 加密然后比对与调用者传来的 sign 加密串是否一致从而来鉴别调用者是否有权限使用该接口。 接着我们来理解一个复杂一点的把sign参数传递为api key申请获取 timestramp时间戳同样需要用代码来实现原理和上面这个一致的。伪代码 highlighter- ruby def setUp(self): self.base_url http://127.0.0.1:8000/api/sec_add_notice/# app_keyself.api_key APIkey# 当前时间now_time time()self.client_time str(now_time).split(.)[0]# signmd5 hashlib.md5()sign_str self.client_time self.api_keysign_bytes_utf8 sign_str.encode(encodingutf-8)md5.update(sign_bytes_utf8)self.sign_md5 md5.hexdigest() 3、AES加解密的过程 通常接口会使用更复杂一点的方式来进行加密的操作常见的是AES的使用放一张图让大家感受一下AES加解密的过程 Python里面有一个很好的黑魔法叫PyCrypto库支持常见的 DES、AES 加密以及 MD5、SHA 各种 HASH 运算。 官方网站下载最新版本 highlighter- awk https://www.dlitz.net/software/pycrypto/ 另外也可以在 PyPi 仓库中下载安装 highlighter- awk https://pypi.python.org/pypi/pycrypto 对于AES的加密来说看一下用了PyCrypto库的结果 加密 highlighter- stylus from Crypto.Cipher import AES obj AES.new(This is a key123, AES.MODE_CBC, This is an IV456) message The answer is no ciphertext obj.encrypt(message) print(ciphertext) 程序运行后的结果为 highlighter- taggerscript b\xd6\x83\x8dd!VT\x92\xaaA\x05\xe0\x9b\x8b\xf1 AES加密里面有两个关键一个是key必须为16,24,32位一个是VI必须为16位 解密解谜者必须要同时知道key和VI才可以解密 highlighter- stylus obj2 AES.new(This is a key123, AES.MODE_CBC, This is an IV456) s obj2.decrypt(ciphertext) print(s) 由Crypto库的作者已停止维护现推荐安装 highlighter- cmake pip install pycrytodome pycryptodome官方文档 highlighter- awk https://www.pycryptodome.org/en/latest/ 写在最后 感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
http://wiki.neutronadmin.com/news/208804/

相关文章:

  • 建筑网址大全网站企业主页的特点
  • 长沙专业外贸网站建设国内最新新闻事件摘抄
  • 那曲网站建设罗斯东莞房价一览表
  • shopify建站费用wordpress 用户 表单
  • 做流量网站要做哪一种网站代备案需要多少钱
  • 网站在线咨询代码常州快速建站模板
  • 做标书网站旅游景区网站建设方案文档
  • 河南省建设厅信息网站外贸管理软件有哪些
  • 做网站需要什么技术员广告公司业务员小刘与客户马经理
  • 一个空间怎么放2个网站如何自己开发app软件
  • 做网站框架显示不出来wordpress搬家
  • 济宁嘉祥网站建设哪里建网站最好
  • 广州市网站优化公司网站设计 广西
  • 电子商务网站建设的目标是什么意思小程序制作公司排名
  • 企业能建站吗建设wap手机网站
  • 网站建设维护 微信锦州建设信息网站
  • 郑州做网站设计东方网站建设
  • 甘肃网站定制开发大疫不过三年
  • 广告设计模板网站wordpress 推荐返利
  • 金华电子商务网站建设如何看别人网站用什么做的
  • 网站域名哪些后缀更好学院网站建设需求分析目录
  • 如何免费自己创建网站北京海淀区属于几环
  • 广东哪家网站建设哪家公司好株洲手机网站建设
  • 企业网站建设流程介绍太原网络营销外包
  • 自助网站建设程序旅行社的网站建设
  • 装修网站建设方案替代wordpress 搜索引擎
  • 克拉玛依网站建设公司客户型网站
  • 网站如何静态化黑马程序员怎么样
  • 网站商城微信支付接口医疗器械分类
  • 大亨网站开发网站设计高怎么表示