首页 > 其他分享 >字符串加密

字符串加密

时间:2023-08-14 10:15:06浏览次数:36  
标签:加密 self key ._ 字符串 table def

字符串加密

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()

标签:加密,self,key,._,字符串,table,def
From: https://www.cnblogs.com/yimeimanong/p/17627867.html

相关文章

  • PHP生成公钥私钥,加密解密,签名验签
    <?php/***ras生成钥对,加密/解密码,加密验证*@author**/classRas{//公钥private$publicKey=__DIR__.'./ras/publicKey.pem';//私钥private$privateKey=__DIR__.'./ras/privateKey.pem';//配置需要用到环境配置文件openss......
  • 【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
    参考文章:这里;这里;这里先上结论C++中的string类型可以使用==和!=来判断两个字符串的值是否相等;而JAVA不行,JAVA中==和!=是用来判断两个字符串的地址是否相同(或者说是对象是否相同,即是否为同一个对象)。C++中string#include<iostream>#include<string>usingnamespacestd;intmai......
  • Python教程(8)——一文弄懂Python字符串操作(下)
    (Python字符串操作)字符串常用方法字符串在编程中是一种不可或缺的数据类型,它在文本和字符数据时提供了丰富而强大的功能。掌握了字符串的使用方法,你能够更加便捷地进行文本处理、数据操作、用户交互等任务,从而提高编程效率和质量。len():返回字符串的长度。str1="Hello,Wo......
  • Python教程(8)——一文弄懂Python字符串操作(下)
    @目录字符串常用方法字符串更多方法介绍字符串常用方法字符串在编程中是一种不可或缺的数据类型,它在文本和字符数据时提供了丰富而强大的功能。掌握了字符串的使用方法,你能够更加便捷地进行文本处理、数据操作、用户交互等任务,从而提高编程效率和质量。len():返回字符串的长度......
  • 步高加密 APK 格式 BPK 研究 : 续
    上一篇:步步高家教机加密安装包BPK研究(已弃坑)闲得蛋疼又开始研究这个了,主要是目前网上没搜到有人公开解密方法,心里还是痒痒的,虽然我菜,但是每次都能进步一点点嘛这次继续从AndroidROM上开刀,但是这次没有实体机了,只能慢慢摸索,没法调试咯这次选了家教机A6开刀,因为官网......
  • 3 字符串向量数组
    当把string对象和子符字面值混在一条语句中使用时,必须确保每个+运算符的两侧的运算对象至少有一个是string用花括号对vector做初始化,不能用下标形式添加元素迭代器,iterator const_iterator两种迭代器类型,如果vector或string对象是常量,只能使用const_iterator。对vect......
  • 2信息加密技术
    对称加密:加密密钥解密特点:加密强度不高,效率高,易破解密钥分发困难非对称加密:加密解密解密者的公钥解密者的私钥特点:加密强度高,效率低,极难破解密钥分发容易 对称加密算法(共享密钥)非对称加密算法(公开密钥)用途:对消......
  • 删除迅雷批理下载时在文件名尾部追加的41位随机字符串
    在删除迅雷批理下载时,通查会在文件名尾部追加的41位随机字符串。如文件名:知识点精讲(二十六)-建筑工程标准_889fcab66c13b6a02d0fe7b96045573a5506aaee.pdf 红色文字为迅雷追加的字符串,此时文件名过长,想删除该如何做呢?知识点精讲(二十六)-建筑工程标准_889fcab66c13b6a02d0fe......
  • 某公司笔试题 - 字符串排序(附python代码)
    #给定n个字符串,请对n个字符串按照字典序排列。#数据范围:1<=n<=1000,字符串长度满足1<=len<=100times=int(input("请输入字符串的个数:"))iftimes>=1andtimes<=1000:dicts={}print("请输入字符串,回车键切换输入下一个字符串:")foriinrange(......
  • php字符串学习
    addcslashes:以某个字母为界限,增加斜杠echoaddcslashes('xiaomingming','m');输出:xiao/ming/mingbin2hex:将字符串对应的ASCII的十进制值转化为对应的十六进制如:a对应97,输出61echobin2hex(a);输出:61chop:rtrim的别名,移除字符串右端的空白echochop('Shangh......