python自创加密器1.0

闲暇时间用python做了个自创加密器(还在持续更新中),不废话,上代码!

mapping = {'0':'11111', '1':'1111', '2':'111', '3':'11', '4':'1',
           '5':'0', '6':'10000', '7':'11000', '8':'11100','9':'11110'}
 
def find(value):
    for key, val in mapping.items():
        if val == value:
            return key
 
def encrypt(text):
    text1 = ord(text)
    text2 = str(text1)
    length = len(text2)
    text3 = [mapping[text2[i]] for i in range(length)]
    text4 = [str(int(text3[i], 2)) for i in range(length)]
    res = []
    for i in range(length):
        temp = ""
        for j in range(len(text4[i])):
            temp += str(ord(text4[i][j])) + 'l'
        res.append(temp)
    text5 = 'O'.join(res) + 'O'
    print(text5)
    return text5
 
def decrypt(en_text):
    res = en_text[:len(en_text) - 1].split('O')
    text4 = []
    for item in res:
        t = item[:len(item) - 1].split('l')
        num = ''
        for it in t:
            num += chr(int(it))
        text4.append(num)
    text3 = [find(bin(int(num))[2:]) for num in text4]
    ch = chr(int(''.join(text3)))
    print(ch)
    return ch


def main():
    a = input("请问您是要加密还是要解密(加密输入1,解密输入2):")
    if a == '1':
        text = input("好的,请输入字符:")
        encrypt(text)
    elif a == '2':
        text = input("好的,请输入加密代码:")
        decrypt(text)

if __name__ == "__main__":
    main()

暂时弊端:只支持输入一个字符。

感谢@无序繁星的帮忙!!!十分感谢!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值