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())