Python实现base64编码解码

Python实现base64编码解码

通过编程了解base64编码解码过程
(纯属无聊之举,且不支持汉字)

a = input("输入(1.base64加密/2.base64解密):")
base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
if a == '1':
    s = input("\n输入待加密字符串:")
    t1 = ''
    d = 0
    for a in s:
        t1 += '0'*(10 - len(str(bin(ord(a)))))+str(bin(ord(a)))[2:]  # 补足8位
    if len(t1) % 6 == 2:
        d = 2
        t1 += '0000'
    elif len(t1) % 6 == 4:
        d = 1
        t1 += '00'
    i = 0
    t2 = ''
    while i < len(t1):
        t2 += base64[int(t1[i:i+6],2)]
        i += 6
    if d == 2:
        t2 += '=='
    elif d == 1:
        t2 += '='
    print("\n加密结果:%s"%t2)
elif a == '2':
    s = input("\n输入待解密base64码:")
    d = 0
    if s[-1] == '=' and s[-2] != '=':
        d = 1
        s = s[:-1]
    elif s[-1] == '=' and s[-2] == '=':
        d = 2
        s = s[:-2]
    t1 = ''
    for a in s:
        t1 += '0'*(8 - len(str(bin(base64.index(a)))))+str(bin(base64.index(a)))[2:]  # 补足6位
    if d == 1:
        t1 = t1[:-2]
    elif d == 2:
        t1 = t1[:-4]
    i = 0
    t2 = ''
    while i < len(t1):
        t2 += chr(int(t1[i:i+8],2))
        i += 8
    print("\n解密结果:%s"%t2)

附录
使用python的base64库(支持汉字)

import base64
# 加密
mystr = '人生苦短,py是岸'
mystr = base64.b64encode(mystr.encode('utf-8')).decode('ascii')
print(mystr)
# 解密
str_url = base64.b64decode(mystr).decode("utf-8")
print(str_url)
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值