1. 什么是hash
hash是一种算法,该算法接受一系列的数据,经过运算会得到一个hash值,
hash值具备三大特性:
1. 只要传入的内容一样,那么得到的hash值一定是一样
2. 只要采用hash算法固定,无论传入的内容多大,hash值的长度是固定

3. hash值不可逆,即不能通过hash值逆推出内容

2. 为何要用hash

特性1+2=>文件完整性校验
特性3==>

import hashlib

m=hashlib.md5()
m.update('你好'.encode('utf8'))
m.update('hello'.encoding('utf8'))
print(m.hexdigest())

m=hashlib.sha512()
m.update('你好'.encode('utf8'))
m.update('hello'.encoding('utf8'))
print(m.hexdigest())


pwd=input('password>>> ').strip()
m=hashlib.md5()
m.update('天王盖地虎'.encode('utf-8'))
m.update(pwd.encode('utf-8'))
m.update('一行白鹭上青天'.encode('utf-8'))
print(m.hexdigest())
View Code