1、下载安装模块

cmd下执行命令下载安装:pip install xpinyin

cmd下执行命令下载安装:pip install hashlib

2、xpinyin模块(拼音)

from xpinyin import Pinyin

p = Pinyin()

res = p.get_pinyin("上海")
#'shang-hai' res = p.get_pinyin("上海","")#默认用-连接拼音,所以我们在后面加上了''
#'shanghai' res = p.get_pinyin("上海", ' ')
# 'shang hai' res = p.get_pinyin(u"上海", show_tone_marks=True)
# 'shàng-hǎi' res = p.get_initial("上")
# 'S' res = p.get_initials("上海")
# 'S-H' res = p.get_initials("上海", '')
# 'SH' res = p.get_initials("上海", ' ')
# 'S H' print(res)

3、hashlib模块(加密)

hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法。
以上几种加密方式的区别为密码长度。md5不能反解,但是加密是固定的,就是关系是一一对应,所以有缺陷,可以被对撞出来

import hashlib

password=''
# password.encode()#转成二进制类型的才可以加密
m = hashlib.md5(password.encode()) #md5加密 <md5 HASH object @ 0x104060670>
print(m.hexdigest())#将转成二进制后的字符串加密 4297f44b13955235245b2497399d7a93

4、小练习

写一个加密的函数,并加盐,加盐的意思是在密码后面加一个字符串

def my_md5(s:str,salt=None):
#salt是盐值
s = str(s)#先转成字符串 if salt:#如果传入的有盐值
s = s+salt
m = hashlib.md5(s.encode())#先转成二进制
return m.hexdigest()

python学习笔记:模块——xpinyin(拼音)、hashlib(加密)的更多相关文章

  1. python学习笔记-模块和包

    模块导入方法 1.import 语句 import module1[,module2[,...moduleN]] 当我们使用import语句的时候,Python解释器是怎么找到对应对文件对呢?答案是解 ...

  2. python学习笔记(16)hashlib.md5摘要算法(哈希算法)

    一.摘要算法格式 import hashlib #导入hashlib模块 md = hashlib.md5() #获取一个md5加密算法对象 md.update('how to use md5 in ...

  3. Python学习笔记——模块

    使用模块 python中包的组织方式是模块,一个使用其它模块的例子如下: # Filename: using_sys.py import sys print 'The command line arg ...

  4. 【转】python模块分析之hashlib加密(二)

    [转]python模块分析之hashlib加密(二) hashlib模块是用来对字符串进行hash加密的模块,明文与密文是一一对应不变的关系:用于注册.登录时用户名.密码等加密使用.一.函数分析:1. ...

  5. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  6. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

  7. python学习笔记(26)-request模块

    python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...

  8. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  9. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  10. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

随机推荐

  1. cortable 使用方法

    星期一到星期六,早上六点到晚上六点.每隔两个小时 执行语句 0 6-18/2  * * 1-6 commond

  2. JS删除对象属性

    项目中有些属性使用之后需要重置 var user = {}; user.name = "123"; user.age="30"; console.log(use ...

  3. 返回闭包不能引用循环变量,请改写count()函数,让它正确返回能计算1x1、2x2、3x3的函数。

    错误写法: 正确写法:

  4. 【读书笔记】:MIT线性代数(5):Four fundamental subspaces

    At the beginning, the difference between rank and dimension: rank is a property for matrix, while di ...

  5. c#生成html静态文件时出现空白行,怎么去掉utf-8中的bom

    public static void UTF8RemoveBOM(string filepath) { UTF8RemoveBOM(filepath, filepath); }   public st ...

  6. spring cloud学习--eureka 01

    本博客为学习使用,学习教程翟永超 spring cloud 微服务实战 搭建eureka server注册中心 spring initialize构建spring boot项目 构建网址:https: ...

  7. spring注解开发:Configuration&Bean

    1.使用xml创建bean的方式 1.首先新建一个maven工程,添加如下依赖 <dependency> <groupId>org.springframework</gr ...

  8. [LeetCode] 181.超过经理收入的员工

    Employee表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | ...

  9. 如何判断索引是否生效--explain

    explain 显示了MySql 如何使用索引来处理select语句以及连接表. 使用方式在select 前面加上 explain就可以了 示例:explain select id , name ta ...

  10. Java关于线程池的使用

    一.四种线程池创建的方式 Java通过Executors提供四种线程池,分别为: newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回 ...