自动化测试(二):python加密解密des

码者最近在编写接口自动化测试项目中发现一种叫des的加密格式。场景是:登录成功之后会返回一个key,和一个id(加密的),需要把这个id解密出来,给下一个接口请求头。之前做的自动化都是拿过来直接用,不需要解密。遇到这个问题记录一下。

一、导入库

pip install pyDes

二、这是封装好的代码

"""
@FileName:  deshandle.py
@Author:    公众号:《测试小白从零开始》  简书作者:sai德很黑
@time:      2021/4/30
"""
from pyDes import des,ECB,PAD_PKCS5
import binascii

"""
    DES加密、解密
"""
class DesHandle:
    def __init__(self,text):
        self.text=text
        self.KEY='123456'     #   这个key是固定问开发,

    def des_encrypt(self):
        """
        DES 加密
        :param s: 原始字符串
        :return: 加密后字符串,16进制
        """
        secret_key = self.KEY  # 密码
        iv = secret_key  # 偏移
        # secret_key:加密密钥,CBC:加密模式,iv:偏移, padmode:填充
        des_obj = des(secret_key, ECB, iv, pad=None, padmode=PAD_PKCS5)
        # 返回为字节
        secret_bytes = des_obj.encrypt(self.text, padmode=PAD_PKCS5)
        # 返回为16进制
        return binascii.b2a_hex(secret_bytes)


    def des_descrypt(self):
        """
        DES 解密
        :param s: 加密后的字符串,16进制
        :return:  解密后的字符串
        """
        secret_key = self.KEY
        iv = secret_key
        des_obj = des(secret_key, ECB, iv, pad=None, padmode=PAD_PKCS5)
        decrypt_str = des_obj.decrypt(binascii.a2b_hex(self.text), padmode=PAD_PKCS5)
        return bytes.decode(decrypt_str)            #bytes.decode() 将bit转为str

四、验证

点这里验证:在线加密解密des

image.png

持续学习中。。。。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容