• Python学习心得(五) random生成验证码、MD5加密、pickle与json的序列化和反序列化


    # -*- 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)
    

      

  • 相关阅读:
    Qt 3D教程(二)初步显示3D的内容
    linux关于ftp查看不到文件列表的问题
    Mahout推荐算法API具体解释【一起学Mahout】
    GBK编码具体解析(附GBK码位分布图)
    HTML5实战与剖析之媒体元素(3、媒体元素的事件及方法)
    CentOS添加swap分区
    Transaction: atomicity, consistency, separability, persistence
    redis ins 调试
    jemalloc/jemalloc.h: No such file or directory
    MySQL表设计基础
  • 原文地址:https://www.cnblogs.com/binguo2008/p/7242619.html
Copyright © 2020-2023  润新知