问答详情

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

732次观看
标签: 字符串 方法 有哪些
老师回答

1、url编码

from urllib.parse import quote, 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(最简单但保密度不高)

import base64

s1 = base64.encodestring('hello world')

s2 = base64.decodestring(s1)

print s1,s2

# aGVsbG8gd29ybGQ=n

# hello world

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/env python

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

# @Author: Nick

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

# @Last Modified by: Nick

# @Last Modified time: 2019-10-24 10:50:45

def md5_encode(original_str):

"""

功能:实现字符串 md5加密

:param original_str:

:return:

"""

m = hashlib.md5()

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

return m.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'u738bu5927u9524'

print(utf8_name)

# b'xe7x8ex8bxe5xa4xa7xe9x94xa4'

print(gbk_name)

# b'xcdxf5xb4xf3xb4xb8'

print(gbk2312_name)

# b'xcdxf5xb4xf3xb4xb8'

# 解码

print(unicode_name.decode())

# u738bu5927u9524

print(unicode_name.decode("unicode_escape"))

# 王大锤

print(utf8_name.decode()) # 默认utf-8

# 王大锤

print(gbk_name.decode("gbk"))

# 王大锤

免费直播

    精选课程
    相关推荐
    python程序设计主要学什么?
    魏老师 Python编程

    1、Python语言基础

    学Python最基础知识,如Python3、数据类字符串、函数、类、文件操作阶段课程结束后,学员需要完成Pygame实战飞机大战、2048等项目。

    2、Python语言高级

    主要学习Python库、正则表达式、进程线程、爬虫、遍历以及MySQL数据库。

    3、Python、web开发

    主要学习HTML、CSS、JavaScript、jQuery等前端知识,掌握python三大后端框架(Django、 Flask以及Tornado)。需要完成网页界面设计实战;能独立开发网站。

    4、Linux基础

    主要学习Linux相关的各种命令,如文件处理命令、压缩解压命令、权限管理以及Linux Shell开发等。

    5、Linux运维自动化开发

    主要学习Python开发Linux运维、Linux运维报警工具开发、Linux运维报警安全审计开发、Linux业务质量报表工具开发、Kali安全检测工具检测以及Kali 密码破解实战。

    6、Python爬虫

    主要学习python爬虫技术,掌握多线程爬虫技术,分布式爬虫技术。

    7、Python数据分析和大数据

    主要学习numpy数据处理、pandas数据分析、matplotlib数据可视化、scipy数据统计分析以及python 金融数据分析;Hadoop HDFS、python Hadoop MapReduce、python Spark core、python Spark SQL以及python Spark MLlib。

    ​8、Python机器学习

    主要学习KNN算法、线性回归、逻辑斯蒂回归算法、决策树算法、朴素贝叶斯算法、支持向量机以及聚类k-means算法。

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司