base32/64&base64变表加解密

base32加密

import base64
enc = 'Re__Point'
m = str(base64.b32encode(enc.encode()))
print(m)
# b'KJSV6X2QN5UW45A='

base32解密

import base64
enc = b'KJSV6X2QN5UW45A='
m = str(base64.b32decode(enc))
print(m)
# b'Re__Point'

base64加密

import base64
enc = 'Re__Point'
m = str(base64.b64encode(enc.encode()))
print(m)
# b'UmVfX1BvaW50'

base64解密

import base64
enc = b'UmVfX1BvaW50'
m = str(base64.b64decode(enc))
print(m)
# b'Re__Point'

变表base64加密

  • 这个base64库不支持,所以自己搞了一个
def base64_encode_custom(data, custom_table):
    padding = 3 - (len(data) % 3) if len(data) % 3 != 0 else 0
    data += b'\x00' * padding

    encoded = ''
    for i in range(0, len(data), 3):
        num = (data[i] << 16) + (data[i + 1] << 8) + data[i + 2]
        encoded += custom_table[(num >> 18) & 0x3F]
        encoded += custom_table[(num >> 12) & 0x3F]
        encoded += custom_table[(num >> 6) & 0x3F]
        encoded += custom_table[num & 0x3F]

    if padding != 0:
        encoded = encoded[:-padding] + '=' * padding
    return encoded


# Custom Base64 encoding table
custom_base64_table = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'

data = b'Re__Point'
encoded_data = base64_encode_custom(data, custom_base64_table)


print("Encoding:", encoded_data)

变表base64解密

import base64
# 原表
origin = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
# 变表
base = 'yzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/abcdefghijklmnopqrstuvwx'
# 密文
c = '1ovhXETgZUDgXFS='
# 映射表
table = str.maketrans(base,origin)
# 明文
m = str(base64.b64decode(c.translate(table)),encoding=('utf-8'))
print(m)
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UmVfX1BvaW50

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值