Python编程:对字符串加密的5种方式

简介: Python编程:对字符串加密的5种方式

本文中的加密,是指人不能直观看出信息的加密

即:肉眼不可见的加密

1. url编码

from urllib.parse import quote, unquote
name = "王大锤"
# 编码
utf8_name = quote(name)  # utf-8
print(utf8_name)
# %E7%8E%8B%E5%A4%A7%E9%94%A4   长度是 9
gbk_name = quote(name, encoding="gbk")
print(gbk_name)
# %CD%F5%B4%F3%B4%B8    长度是 6
# 解码
print(unquote(utf8_name))
print(unquote(gbk_name, encoding="gbk"))
# 王大锤

2. Base64编码

可参考:base64编码原理以及python中的base64模块

# base64编码是将二进制字节流编码为可打印的64个字符
# 以6位分割 bit位都是0,base64约定以‘=’代替
# z -> b'eg=='
import base64
name = "王大锤"
# 编码: 字符串 -> 二进制 -> base64编码
b64_name = base64.b64encode(name.encode())
print(b64_name)
# b'546L5aSn6ZSk'
# 解码:base64编码 -> 二进制 -> 字符串
print(base64.b64decode(b64_name).decode())
# 王大锤

3. 字符串转换ascii

name = "王大锤"
# 编码
ascii_name = list(map(ord, name))
print(ascii_name)
# [29579, 22823, 38180]
# 解码
print("".join(map(chr, ascii_name)))
# 王大锤

4. md5不可逆

解密推荐去cmd5

import hashlib
name = "王大锤"
# 编码
print(hashlib.md5(name.encode()).hexdigest())
# 59c22c7bb43b8561cfd3b52f507171cb

5. Unicode转中文

name = "王大锤"
# 编码
unicode_name = name.encode("unicode_escape")
utf8_name = name.encode("utf-8")
gbk_name = name.encode("gbk")
gbk2312_name = name.encode("gb2312")
print(unicode_name)
# b'\\u738b\\u5927\\u9524'
print(utf8_name)
# b'\xe7\x8e\x8b\xe5\xa4\xa7\xe9\x94\xa4'
print(gbk_name)
# b'\xcd\xf5\xb4\xf3\xb4\xb8'
print(gbk2312_name)
# b'\xcd\xf5\xb4\xf3\xb4\xb8'
# 解码
print(unicode_name.decode())
# \u738b\u5927\u9524
print(unicode_name.decode("unicode_escape"))
# 王大锤
print(utf8_name.decode())  # 默认utf-8
# 王大锤
print(gbk_name.decode("gbk"))
# 王大锤

参考:

  1. Crypto(密码)之各种python编码转换
  2. Python之编码转换
目录
打赏
0
0
0
0
58
分享
相关文章
|
20天前
|
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
79 0
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
54 1
|
2月前
|
Python字符串格式化利器:f-strings入门指南
Python字符串格式化利器:f-strings入门指南
145 80
|
2月前
|
Python高效字符串格式化:f-strings的魅力
Python高效字符串格式化:f-strings的魅力
130 80
|
2月前
|
Python f-strings:让字符串格式化更简洁高效!
Python f-strings:让字符串格式化更简洁高效!
189 81
Python编程精进:正则表达式
正则表达式是一种强大的文本处理工具,用于搜索、匹配和提取模式。本文介绍了正则表达式的语法基础,如`\d`、`\w`等符号,并通过实例展示其在匹配电子邮件、验证电话号码、处理日期格式等场景中的应用。同时,文章提醒用户注意性能、编码、安全性等问题,避免常见错误,如特殊字符转义不当、量词使用错误等。掌握正则表达式能显著提升文本处理效率,但需结合实际需求谨慎设计模式。
103 2
|
2月前
|
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
167 33
|
3月前
|
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
Python 3.14 引入了七大核心技术特性,大幅提升开发效率与应用安全性。其中包括:t-strings(PEP 750)提供更安全灵活的字符串处理;类型注解惰性求值(PEP 649)优化启动性能;外部调试器API标准化(PEP 768)增强调试体验;原生支持Zstandard压缩算法(PEP 784)提高效率;REPL交互环境升级更友好;UUID模块扩展支持新标准并优化性能;finally块语义强化(PEP 765)确保资源清理可靠性。这些改进使Python在后端开发、数据科学等领域更具竞争力。
138 5
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等