【11】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='123123'
# 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()
原文地址:https://www.cnblogs.com/haifeima/p/9725226.html