Cryptography With Python 简明教程

Base64 Encoding and Decoding

Base64 编码将二进制数据转换为文本格式,该格式通过用户可以安全处理文本的通信通道传输。Base64 也称为 Privacy enhanced Electronic mail (PEM) ,主要用于电子邮件加密过程。

Python 包含一个名为 BASE64 的模块,其中包括两个主要函数,如下所示:-

  1. base64.decode(input, output) - 它对指定的输入值参数进行解码,并将解码后的输出存储为对象。

  2. Base64.encode(input, output) - 它对指定的输入值参数进行编码,并将编码后的输出存储为对象。

Program for Encoding

可以使用以下代码段执行 base64 编码:-

import base64
encoded_data = base64.b64encode("Encode this text")

print("Encoded text with base 64 is")
print(encoded_data)

Output

base64 编码的代码给你以下输出:-

base64

Program for Decoding

可以使用以下代码段执行 base64 解码:-

import base64
decoded_data = base64.b64decode("RW5jb2RlIHRoaXMgdGV4dA==")

print("decoded text is ")
print(decoded_data)

Output

base64 解码的代码给你以下输出:-

base64 decoding

Difference between ASCII and base64

在对数据进行编码时,使用 ASCII 和 base64 时,你可以观察到以下区别:-

  1. 当你使用 ASCII 对文本进行编码时,从文本字符串开始,然后将其转换为字节序列。

  2. 当你使用 Base64 对数据进行编码时,从字节序列开始,然后将其转换为文本字符串。

Drawback

Base64 算法通常用于在数据库中存储密码。主要缺点是每个解码后的单词都可以通过任何在线工具轻松编码,入侵者可以轻松获取信息。