Python學習心得(五) random生成驗證碼、MD5加密、pickle與json的序列化和反序列化
阿新 • • 發佈:2017-07-27
用法 div com ict file imp randint csdn ==
# -*- coding:utf-8 -*- import random as rd #驗證碼 import hashlib as hsl #MD5加密 import pickle,json #pickle與json序列化 #print rd.randint(1,5) #print help(range) #print help(rd.randint) #隨機生成6位驗證碼: code = [] for i in range(1,7): if i == rd.randint(1,6): code.append(str(i)) else: code.append(chr(rd.randint(65,90))) print ‘‘.join(code) #MD5加密,不能反解,實際應用中驗證用戶是否登錄時,可以md5()正解匹配 hashtest = hsl.md5() hashtest.update(‘admin‘) print hashtest.hexdigest() #pickle序列化與反序列化 及和json的區別 """ pickle 與 json 1.pickle是python專用的,json幾乎所有的編程語言都支持json格式,不同語言間數據內存交互以json為主 2.pickle和json在Python中的用法都是一樣的,pickle基本上python中所有的數據類型都能序列化,json只能序列化常規的列表、字典等 3.pickle序列化的數據默認不可讀(人工無法分辨),但json序列化後可以直觀看到(可讀) """ dict_pick = {‘name‘:‘binguo‘,‘age‘:27,‘blogurl‘:‘http://blog.csdn.net/binguo168‘} dict_json = {‘company‘:‘china‘,‘hobby‘:‘study‘} #序列化 result1 = pickle.dumps(dict_pick) result2 = json.dumps(dict_json) print result1 print result2 with open(‘E:/pickleresult.txt‘,‘w‘) as file_pickle: pickle.dump(dict_pick, file_pickle) #序列化到文件 with file(‘E:/pickleresult.txt‘,‘r‘) as read_pickle: print pickle.load(read_pickle) #從文件反序列化回來 #反序列化 print pickle.loads(result1) print json.loads(result2)
Python學習心得(五) random生成驗證碼、MD5加密、pickle與json的序列化和反序列化