关于Python实现Interface base64加解密方法
2024-09-06 04:29:32
'''
以下Python Code运行环境为windows10,
Python版本为3.5.3
涉及的库:base64,json,unittest
'''
# coding=utf-8
# import requests
# import hashlib
import base64, json
import unittest
class DemoRequests(unittest.TestCase):
def setUp(self):
#self._url = 'http://www.baidu.com'
self.json_ = {
"username": "001",
"password": "001",
"uuid": "F9E73F13915A6283F4D9916C36E6D867"
}
def tearDown(self):
print("Request_test_End...")
# 加密json_字符串
def test_request_json_encryption(self):
# 把dict类型的json_转换成bytes字节流的str类型的json_
json_encryption = base64.b64encode(json.dumps(self.json_).encode('utf-8'))
print(json_encryption)
return json_encryption
# 解密json_字符串
def test_request_json_Decrypt(self):
# --------------------------------------------------------------------------------------------------------
json_encryption = self.test_request_json_encryption()
# 把bytes字节流的str类型的json进行解密 decode(默认为utf-8)
# b'{"password": "001", "username": "001", "uuid": "F9E73F13915A6283F4D9916C36E6D867"}'
json_decrypt = base64.b64decode(json_encryption.decode('utf-8'))
print(json_decrypt)
# --------------------------------------------------------------------------------------------------------
# 把解密后的bytes类型数据转换成str类型数据
# {"uuid": "F9E73F13915A6283F4D9916C36E6D867", "password": "001", "username": "001"}
json_encryption_str = json_decrypt.decode()
print(json_encryption_str)
# -------------------------------------------------------------------------------------------------------
# 得到str类型数据后,要转换成dict类型,才能取出某个key的values
json_encryption_dict = json.loads(json_encryption_str)
print(type(json_encryption_dict))
# -------------------------------------------------------------------------------------------------------
# 比如要取出"uuid"的value
json_encryption_dict_uuid = json_encryption_dict["uuid"]
print(json_encryption_dict_uuid)
if __name__ == '__main__':
unittest.main()
最新文章
- BizTalk Server 2016
- NBUT 1535
- js算法之最常用的排序
- 树网的核[树 floyd]
- 北邮新生排位赛1解题报告a-c
- Java并发编程二三事
- oracle的安装与plsql的环境配置
- mySql一个字段的值模糊匹配多表多列的查询
- SpringMvc实现的简单原理
- 【Spring】29、SpringBoot中@SpringBootApplication的使用
- 「LibreOJ Round #6」花火
- Ubuntu 初始配置
- 一个站点配置多个App.config
- iOS: 获取UITableViewCell上添加的子控件对应的cell
- js 实现数组元素交换位置
- c++多线程——锁技巧
- workflow
- selenium 关键字驱动部分设计思路
- json 对象里面含有 =的解决办法
- EVE-NG FAQ