base64解码与编码离线脚本

base64解码与编码


在CTF比赛中,常常会遇到base64码,由于某些比赛中是不能联网的,因此也就不能使用在线工具,不过在线工具还是有的 base64在线工具,但离线工具我觉得可以不用但是必须得有

解码

import base64

print("请输入要解码的字符串")
encoded_string=input()

# 使用base64模块的b64decode函数进行解码
decoded_data = base64.b64decode(encoded_string)

# 将解码后的字节数据转换为字符串
decoded_string = decoded_data.decode('utf-8')

# 打印解码后的字符串
print(f"解码后的字符串为{decoded_string}")

这个比较简单,我就不演示了,大家直接拿去用吧

编码

import base64

# 原始字符串
print("请输入要编码的字符串")
original_string = input()

# 将字符串转换为字节类型
original_bytes = original_string.encode('utf-8')

# 使用base64模块的b64encode函数进行编码
encoded_bytes = base64.b64encode(original_bytes)

# 将编码后的字节数据转换为字符串
encoded_string = encoded_bytes.decode('utf-8')

# 打印编码后的字符串
print(f"编码后的字符串为:{encoded_string}")

如果想深入了解base64编码的,也可以看看下面的简短的解释

base64码

广泛使用的是Base64编码的两种变体:Base64和URL-safe Base64。不过,标准的Base64编码是最常见的,用于将二进制数据转换为ASCII文本字符串。这种编码方式在多种场合下都非常有用,尤其是在需要通过文本通道传输二进制数据时。

  • 什么是base64码
    Base64编码是一种基于64个可打印的ASCII字符(A-Z,a-z,0-9,+和/)的编码方案,用以表示任意二进制数据。这种编码方式可以将每3个字节的二进制数据转换为4个可打印的字符。因此,编码后的数据增加了大约33%的大小,但它确保了数据可以在任何支持ASCII的环境中安全地存储和传输。
  • 编码原理
    编码过程:将二进制数据每3个字节一起分组,然后转换为4个6位的数字,最后映射到Base64字符集中的相应字符。
    解码过程:相反的过程,将Base64字符转换回6位的数字,再重组为原始的二进制数据。
  • URL-safe Base64
    URL-safe Base64是一种变体,它使用-和_代替+和/,以避免与URL和文件名中的特殊字符冲突。在Python中,可以使用base64.urlsafe_b64encode和base64.urlsafe_b64decode来进行URL-safe Base64编码和解码。
    注意:Base64编码并不加密数据,只是改变了数据的表现形式,主要用于数据的传输和存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值