全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

Python中字符串加密的方法有哪些

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

有的时候我们写的东西不想让别人看到,会设置密码来加密。在Python中,我们写的字符字符不想被别人看到,保护自己的隐私,会选择加密。本文介绍Python字符串加密的五种方法:url编码、base64、ascii、md5Unicode转中文。具体代码如下:

1、url编码

fromurllib.parseimportquote,unqoute

string='中国红'

en_str='hello'

#编码

utf8_code=quote(string)#默认编码格式是utf-8

print(utf8_code)

#输出结果:%E4%BD%A0%E5%A5%BD%E5%95%8A

en_code=quote(en_str)

print(en_code)

#输出结果:hello!当传入的字符串不是中文时,这个编码会原文输出

#设置编码格式

gbk_code=quote(string,encoding='gbk')

print(gbk_code)

#输出:%E4%BD%A0%E5%A5%BD%E5%95%8A

#解码

prot_str=unquote(gbk_code,encoding='gbk')

print(prot_str)

#输出结果:中国红

2、base64(最简单但保密度不高)

importbase64

s1=base64.encodestring('helloworld')

s2=base64.decodestring(s1)

prints1,s2

#aGVsbG8gd29ybGQ=\n

#helloworld

3、ascii

#!/usr/bin/python3

#-*-coding:UTF-8-*-

name="asdzxc123"

#编码

ascii_name=list(map(ord,name))

print(ascii_name)

#解码

print("".join(map(chr,ascii_name)))

4、md5

#!/usr/bin/envpython

#-*-coding:utf-8-*-

#@Author:Nick

#@Date:2019-10-2410:24:32

#@LastModifiedby:Nick

#@LastModifiedtime:2019-10-2410:50:45

defmd5_encode(original_str):

"""

功能:实现字符串md5加密

:paramoriginal_str:

:return:

"""

m=hashlib.md5()

m.update(original_str.encode(encoding='UTF-8'))

returnm.hexdigest()

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"))

#千锋

以上内容为大家介绍了Python中字符串加密的方法有哪些,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

相关文章

如何使用python any()判断多元素?

如何使用Pandas处理Excel?

python函数中的参数有哪些?

python中pygal模块如何使用?

Python的excel处理操作

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取