python学习笔记:模块——xpinyin(拼音)、hashlib(加密)
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(加密)的更多相关文章
- python学习笔记-模块和包
模块导入方法 1.import 语句 import module1[,module2[,...moduleN]] 当我们使用import语句的时候,Python解释器是怎么找到对应对文件对呢?答案是解 ...
- python学习笔记(16)hashlib.md5摘要算法(哈希算法)
一.摘要算法格式 import hashlib #导入hashlib模块 md = hashlib.md5() #获取一个md5加密算法对象 md.update('how to use md5 in ...
- Python学习笔记——模块
使用模块 python中包的组织方式是模块,一个使用其它模块的例子如下: # Filename: using_sys.py import sys print 'The command line arg ...
- 【转】python模块分析之hashlib加密(二)
[转]python模块分析之hashlib加密(二) hashlib模块是用来对字符串进行hash加密的模块,明文与密文是一一对应不变的关系:用于注册.登录时用户名.密码等加密使用.一.函数分析:1. ...
- python 学习笔记 13 -- 经常使用的时间模块之time
Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: * time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- python学习笔记(26)-request模块
python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
随机推荐
- shell 中 比较 diff
diff 可以用来比较文件和文件夹是否相同 比较文件 diff file1 file2 >/dev/null 比较文件夹 diff -rNaq dir1 dir2 >/dev/null - ...
- Cocos2d-x之Log输出机制
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 在cocos2d-x中,我们使用log这个函数进行输出,log可以输出很多参数,它的使用方式就和使用c语言中的printf的使用方式差不多 ...
- 学习php的步骤是什么?
PHP应该学什么,如何学好PHP (注:原文来自传智播客) 一些共性问题,大致是: 1. 应该怎样学习PHP,学习的顺序是怎样的? 2. PHP学好后,可以做什么事情? 3. 听得懂课,但是一旦自己独 ...
- luoguP1079 Vigenère 密码 题解(NOIP2012)
P1079 Vigenère 密码 题目 #include<iostream> #include<cstdlib> #include<cstdio> #includ ...
- 设置cookie,获取cookie
封装cookie获取方法一 function getCookie(key) { var key = encodeURIComponent(key); var result; var pairs = d ...
- 基于虚拟用户登录的ftp服务配置
文章结构: 一.使用逻辑卷配置ftp数据存放目录 二.安装和配置vsftpd服务 三.使用不通权限的用户访问ftp服务器 系统环 ...
- SnowFlake --- 分布式id生成算法
转载自:https://segmentfault.com/a/1190000011282426 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用.二进 ...
- Neo4j百万级数据导入只需30s
先上图:425万nodes.180万relationships只用了30s 243ms 项目需要生成关系图,开始考虑的是用Neo4j官网提供的REST API,从solr中查出2组数据先创建节点再创建 ...
- 【目录】sql server 进阶篇系列
随笔分类 - sql server 进阶篇系列 sql server 下载安装标记 摘要: SQL Server 2017 的各版本和支持的功能 https://docs.microsoft.com/ ...
- 【记录】Mybatis-Generator 数据层代码生成器,自动生成dao类,mapper,pojo类
Mybatis-Generator 工具来帮我们自动创建pojo类.mapper文件以及dao类并且会帮我们配置好它们的依赖关系. 官方文档地址:http://mybatis.org/generato ...