【hashlib和hash-以及大文件的校验】

import hashlib
import random
#创建一个md5算法的对象
h1=hashlib.md5()
#把要加密的字符串通过update更新到h1对象中运算
h1.update("1111".encode("utf-8"))
#获取32位16进制的字符串
res=h1.hexdigest()
print(res,len(res))

#加盐
# hashlib.md5("XX")

#dong

res=random.randrange(10000,1000000)
print(res)
repdate("1111".encode())

文件校验,hashlib可以处理大的文件和hash的区别
import hashlib
h1=hashlib.md5()
h1.update("123".encode())
#16进制的字符串
res=h1.hexdigest()
print(res)
import hashlib

def check_md5(file):
with open(file,mode="rb") as fp:
hs=hashlib.md5()
hs.update(fp.read(1))

return hs.hexdigest()
res=check_md5("nn.txt")
res1=check_md5("mm.txt")
print(res)
print(res1)

#针对于大文件进行内容进行校验

h1=hashlib.md5()
h1.update("今天是".encode())
h1.update("好天气".encode())
res=h1.hexdigest()
print(res)#41f039f98beadb63f52b9b83ecd4f4b8

h2=hashlib.md5()
h2.update("今天是好天气".encode())
res=h2.hexdigest()
print(res)#41f039f98beadb63f52b9b83ecd4f4b8

def check_md5(a):
h1=hashlib.md5()
with open(a,mode="rb") as fp:
while 1:
#一次最多读5个字节
content=fp.read(5)
#如果有内容就进行计算
if content:
#进行分批更新计算
h1.update(content)
else:
break
return h1.hexdigest()
print(check_md5("mm.txt"))
print(check_md5("nn.txt"))

import os
def check_md5(file):
h2=hashlib.md5()
file_size=os.path.getsize(file)#文件大小
with open(file,mode="rb") as fp:
while file_size:
content= fp.read(5)
h2.update(content)
file_size=file_size-len(content)
return h2.hexdigest()
print(check_md5("mm.txt"))
print(check_md5("nn.txt"))

#服务器的合法性验证#用微信或者支付宝的支付接口,支付宝支付接口
import socket
import hmac
import os

def auth(conn,secret_key):

secret_key="芝麻开门"
sk=socket.socket()
sk.connect(("127.0.0.1",9000))
sk.close()
原文地址:https://www.cnblogs.com/bonnyxinxin/p/13070251.html