Python Base64库实现字符串加密与解密详解

晚来风
晚来风
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何使用Python标准库base64对明文字符串进行Base64编码和解密操作。通过b64encode()生成密文,利用b64decode()还原数据。重点说明处理字节类型时需添加b前缀,并使用ascii解码获取原始字符串,适用于非关键信息的简单编码场景。

Python Base64加密解密流程

对明文密码进行加密的基本流程如下:


import base64
pwd_after_encrypt = base64.b64encode(b'this is a scret!')
pwd_before_encrypt = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')
print(pwd_after_encrypt)
print(pwd_before_encrypt)

代码执行后的输出结果展示:

b'dGhpcyBpcyBhIHNjcmV0IQ==' this is a scret! Process finished with exit code 0

代码调用示例

在程序代码中调用该加密模块的方式为:


import base64
username = 'root'
password = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')

加密方式的优势

采用这种方式的主要优势在于:

能够有效避免密码以明文形式直接暴露在代码文件中。

操作细节与注意事项

具体操作说明如下:

假设存在一个登录密码字符串'this is a scret!',对其进行加密处理的步骤如下:

第一步,导入Python内置的base64模块;

第二步,调用base64模块中的base64.b64encode()函数,对字符串'this is a scret!'执行加密操作,从而获得密文(例如示例中的b'dGhpcyBpcyBhIHNjcmV0IQ==');

第三步,使用base64.b64decode()函数对密文b'dGhpcyBpcyBhIHNjcmV0IQ=='进行解密,即可还原出原始密码(如示例中的this is a scret!)。

需要特别注意以下事项:

Base64模块处理的数据类型必须为byte类型,因此在传入字符串时需添加前缀b。若希望解密后得到字符串类型的密码,需调用decode('ascii')方法将byte类型数据转换为字符串。

补充说明:Python中Base64模块的加密与解密实现机制。


Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。
优点:速度快,ascii字符,肉眼不可理解
缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合
Python中进行Base64编码和解码
>>> import base64
>>> s = '我是字符串'
>>> a = base64.b64encode(s)
>>> print a
ztLKx9fWt/u0rg==
>>> print base64.b64decode(a)
我是字符串

总结部分:

以上内容介绍了利用Python base64库对用户名或密码进行加密处理的具体流程,旨在为读者提供实用参考。如有疑问欢迎留言,我们将及时回复。感谢各位对本站的支持! 若本文对您有所帮助,欢迎转载,请注明出处,谢谢!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。