字符串加密

字符串加密

import base64


class StrEncrypt:
    """字符串加密"""

    def __init__(self):
        self._key = {'a', 'c', 'd', 'f', 'h', 'j', 'm', 'z'}
        self._un_key = {'~', '!', ')', '$', '-', '_', '(', '*'}
        self._character_table = {
            'a': '~',
            '~': 'a',
            'c': '!',
            '!': 'c',
            'd': ')',
            ')': 'd',
            'f': '$',
            '$': 'f',
            'h': '-',
            '-': 'h',
            'j': '_',
            '_': 'j',
            'm': '(',
            '(': 'm',
            'z': '*',
            '*': 'z',
        }

    def _confuse(self):
        pass

    def encode(self, s: str):
        _s = base64.b64encode(s.encode()).decode()
        for k in set(_s):
            if k in self._key:
                _s = _s.replace(k, self._character_table[k])
        return _s

    def decode(self, s: str):
        for k in set(s):
            if k in self._un_key:
                s = s.replace(k, self._character_table[k])

        return base64.b64decode(s.encode()).decode()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值