码迷,mamicode.com
首页 > 编程语言 > 详细

python 无序模块,hashlib模块

时间:2018-04-20 22:07:17      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:别人   else   close   input   false   字符创   except   字符串   hashlib模块   

无序模块
什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中。
1,json模块
1,用于网络传输,跨语言,可用的类型有 int str 列表--》元祖会变为列表 字典--》双引号表示
2,缺点:支持的数据类型有限
1.json.dumps()
将字符创转化为bytes类型,用来传输

    2.json.loads()
读取bytes类型
dic = {‘剑圣‘:‘我的剑就是你的剑‘,‘赵信‘:‘陷阵之志,有死无生‘,‘皇子‘:‘犯我德邦者,虽远必诛‘}
lol = json.dumps(dic,ensure_ascii=False)  #在网络编程中的dumps将字符串转化为十六进制的字符串类型
print(lol)
ret = json.loads(lol)   #用来解读十六进制
print(ret)

 



3.json.dump()
文件的写入 但是当文件写入数据较多时 需要用dumps
4.json.load()
文件内容读取
f = open(‘233‘,‘a‘,encoding=‘utf-8‘)
json.dump(dic,f)#文件写入
f.close()


f1 = open(‘233‘,‘r‘,encoding=‘utf-8‘)
json.loads(f1)#文件读取
f.close()

 

 

 

 



2.pickle模块
1.在python平台之间使用,使用便利
1,pickle.dumps
2.pickle.loads
3.pockle.dump
4.pockle.load
     
dic = {‘剑圣‘:‘我的剑就是你的剑‘,‘赵信‘:‘陷阵之志,有死无生‘,‘皇子‘:‘犯我德邦者,虽远必诛‘}
dic1 = {‘剑圣‘:‘我的剑就是你的剑‘,‘赵信‘:‘陷阵之志,有死无生‘,‘皇子‘:‘犯我德邦者,虽远必诛‘}
dic2 = {‘剑圣‘:‘我的剑就是你的剑‘,‘赵信‘:‘陷阵之志,有死无生‘,‘皇子‘:‘犯我德邦者,虽远必诛‘}
dic3 = {‘剑圣‘:‘我的剑就是你的剑‘,‘赵信‘:‘陷阵之志,有死无生‘,‘皇子‘:‘犯我德邦者,虽远必诛‘}
k = pickle.dumps(dic)
print(k)
l = pickle.loads(k)
print(l)

f = open(‘233‘,‘ab‘)
ret = pickle.dump(dic,f)
f.close()

f1 =open(‘233‘,‘rb‘)
print(pickle.load(f1))
f1.close()
f=open(‘233‘,‘wb‘)
pickle.dump(dic,f)
pickle.dump(dic1,f)
pickle.dump(dic2,f)
pickle.dump(dic3,f)
f.close()
f1 =open(‘233‘,‘rb‘)
while True:
    try:
        print(pickle.load(f1))
    except EOFError:
        break
f.close()

class A:
    def __init__(self,name,age):
        self.name = name
        self.age = age

a = A(‘alex‘,45)
k=pickle.dumps(a)   #读取所有属性,   将a对象的属性序列化
l=pickle.loads(k)
print(l.__dict__)

 



3.shelve模块
专有化的模块,只针对文件的读取调用。
f[‘‘]模式


4.hashlib模块
两种运用
1,在文件的校验上面,传输者和接收者的文件是否一致
2,密码的加密 分多种加密方式:
1.MD5 2.sha加密方式
1,文件的一致性校验

在文件上传网络之后,为了校验上传的文件和之后的别人接收的文件是否一致,利用hashlib中md5的加密方式,验证两边问价加密后是否密码一致,即使文件有一个空格的不同都会使得加密后的md5密码不一样。
2,密文验证的时候加密
    MD5加密方式,    通用的加密方式
    sha文件加密方式,
password = input(‘>>>>‘)
k = hashlib.md5()
k.update(password.encode(‘utf-8‘))

m = hashlib.md5()
m.update(‘233‘.encode(‘utf-8‘))
if k.hexdigest() == m.hexdigest():
    print(‘666‘)
else:
    print(‘2333‘)

 


    

python 无序模块,hashlib模块

标签:别人   else   close   input   false   字符创   except   字符串   hashlib模块   

原文地址:https://www.cnblogs.com/wpcbk/p/8893595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!