Python使用MD5加密password进行登录
登录时,未加密状态下,请求接口
from configs.config import HOST import requests # 封装一个登录类 class Login(): def login(self,inData):#登录方法 #url路径,环境放配置文件,可维护性 url = HOST+'/api/loginS' #参数 payload = inData #请求 resp = requests.post(url,json=payload) return resp.json() if __name__ == '__main__':#快捷键 Ctrl+j res=Login().login({"username":"20154084","password":"123456"}) print(res)#返回双引号是json 单引号是dict
登录时,直接传入原始密码,未进行MD5加密时,会报错,提示密码错误,这时我们可以用在线工具进行手动转换
传入手动转换后的MD5加密串:
from configs.config import HOST import requests # 封装一个登录类 class Login(): def login(self,inData):#登录方法 #url路径,环境放配置文件,可维护性 url = HOST+'/api/loginS' #参数 payload = inData #请求 resp = requests.post(url,json=payload) return resp.json() if __name__ == '__main__': res=Login().login({"username":"20154084","password":"e10adc3949ba59abbe56e057f20f883e"}) print(res)#返回双引号是json 单引号是dict
此时,登录接口已经正常登录,并返回对应的数据。
如何自动加密,无需手动加密再登录?
封装一个加密函数即可
from configs.config import HOST import requests import hashlib import pprint #封装一个md5加密函数 def get_md5(psw): """ :param psw: :return: """ #实例化一个md5对象 md5=hashlib.md5() #调用加密方法 md5.update(psw.encode("utf-8")) return md5.hexdigest() # 封装一个登录类 class Login(): def login(self,inData,mode=True):#登录方法 #url路径,环境放配置文件,可维护性 url = HOST+'/api/loginS' #字典名[键名]=新的值 字典修改值操作 inData["password"] = get_md5(inData["password"]) #参数 payload = inData #请求 resp = requests.post(url,json=payload) if mode:#获取token return resp.json()["token"]#返回字典类型 else:#获取相应数据 return resp.json()#返回字典类型 if __name__ == '__main__':#快捷键 Ctrl+j res=Login().login({"username":"20154084","password":"123456"}) print(res)#返回双引号是json 单引号是dict pprint.pprint(res)
此时,可实现自动加密密码,可完成登录操作