吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1107|回复: 5
收起左侧

[Python 转载] 培根加密解密的转换

[复制链接]
lyym99 发表于 2024-3-15 20:19
本帖最后由 lyym99 于 2024-3-15 20:25 编辑

今天看到一个帖子介绍了一个关于培根加密解密的转换。原作者悟夜叉个人博客 代码上传以后没有进行转换,都从开头显示代码,存在运行出错,所以对作者的代码进行了修改又定义了函数,方便使用,下载把代码放上来,方便使用。发现CaptfEndoder这个软件对培根转换的不准确。(第一次发帖,不太熟悉)

CODE_TABLE = { #培根字典
'aaaaa':'a','aaaab':'b','aaaba':'c','aaabb':'d','aabaa':'e','aabab':'f','aabba':'g',
'aabbb':'h','abaaa':'i','abaab':'j','ababa':'k','ababb':'l','abbaa':'m','abbab':'n',
'abbba':'o','abbbb':'p','baaaa':'q','baaab':'r','baaba':'s','baabb':'t','babaa':'u',
'babab':'v','babba':'w','babbb':'x','bbaaa':'y','bbaab':'z'
}
choose = input('Input E(encode) or D(decode)\n\t') #输入ED,选择加密或解密
def encode():
    str = input('input your string:\n\t').lower()
    listStr = ''
    for i in str:
        if i in CODE_TABLE.values():
            # 将键、值各化为一个列表,取出ivalue的位置后根据下标找到对应的键
            listStr += list(CODE_TABLE.keys())[list(CODE_TABLE.values()).index(i)]
    print(listStr)
    print(listStr.upper())  # 大写输出

def decode():
    bacon = input("input your bacon:\n\t").lower()
    listBacon = []
    for i in range(0, len(bacon), 5):  # 5位为一组做一个列表
        listBacon.append(bacon[i:i + 5])
    for i in range(len(listBacon)):  # 根据下标找值
        listBacon = CODE_TABLE[listBacon]
    print(''.join(listBacon))
    print(''.join(listBacon).upper())
if choose == 'D':
    decode()
if choose == 'E':
    encode()
image.png image.png image.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
XingHe0XH + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

爱飞的猫 发表于 2024-3-15 21:05
本帖最后由 爱飞的猫 于 2024-3-15 21:35 编辑

推荐使用代码框来展示代码哦!

语言可以选择 Python 语法。

参考:


你看这 A 和 B 像不像 0 和 1… 感觉五位一组,解析二进制值,然后转成序号查字母表也是可以的。

试了下 encode,和你截图中的结果是一致的。

def encode(input_str: str):
    result = ''
    for code in map(lambda c: ord(c) - ord('A'), input_str.upper()):
        if 0 <= code <= 26:
            result += f'{code:05b}'

    return result.translate(str.maketrans('01', 'ab'))

print(encode('guowang'))


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Maiz1888 + 1 + 1 用心讨论,共获提升!

查看全部评分

Maiz1888 发表于 2024-3-16 09:23
爱飞的猫 发表于 2024-3-15 21:05
[md]推荐使用代码框来展示代码哦!

语言可以选择 `Python` 语法。

大佬,厉害哇
 楼主| lyym99 发表于 2024-3-16 09:30
爱飞的猫 发表于 2024-3-15 21:05
[md]推荐使用代码框来展示代码哦!

语言可以选择 `Python` 语法。

领教了,这个更好
YingShi6596 发表于 2024-3-16 10:28
感谢楼主的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表