zoukankan      html  css  js  c++  java
  • hashlib 简单的登录例子

    hashlib例子:

    ===============================================
    import hashlib
    md5 = hashlib.md5()
    md5.update("chenadong")
    print md5.hexdigest()
    >>>09b8ed39ecf488704d1898134e3d94a1
    ===============================================

    摘要算法:

    对同一个字符串进行摘要算法得到的结果永远相同
    
    当前有很多种摘要算法;
        md5()是最常用的
    
    不同的算法结果可能不同
    
    不同的摘要算法,在python里面的使用方法都是一样的
    

    hashlib简单应用:登录功能:

    ===================================

    import hashlib
    import time
    
    
    def get_passwd():
        __passwd = raw_input(">>>请输入密码")
        return str(__passwd)
    
    
    def get_username():
        __username = raw_input(">>>请输入用户名")
        return __username
    
    
    def sign_in():
        __username = str(raw_input(">>>请输入用户名"))
        __passwd = bytes(raw_input(">>>请输入密码"))
        # print(__passwd)
        md5 = hashlib.md5()
        md5.update(__passwd)
        __passwd = md5.hexdigest()
        # print __passwd
        with open("./user.txt", "wb") as f:
            f.write(__username + "
    ")
            f.write(__passwd)
    
        print "signed"
    
    
    def login():
        sign_in()
        while True:
            ____username = get_username()
            # print "****%s" % ____username
            ____passwd = get_passwd()
            with open("./user.txt", "r") as f:
                lst = f.readlines()
    
            signed_user = lst[0].split("
    ")[0]
            signed_passwd = lst[1]
            # print signed_passwd, signed_user
            md5 = hashlib.md5()
            md5.update(____passwd)
            ____passwd = md5.hexdigest()
            if ____username == signed_user:
                if ____passwd == signed_passwd:
                    print "welcome back %s!!!" % ____username
                else:
                    print "your passwd is not match, please try again later"
                    time.sleep(3)
                    break
            else:
                print "unsigned username"
    
    
    if __name__ == "__main__":
        login()
    
    
    >>>请输入用户名a
    >>>请输入密码a
    signed
    >>>请输入用户名a
    >>>请输入密码a
    welcome back a!!!
    >>>请输入用户名a
    >>>请输入密码b
    your passwd is not match, please try again later
    ============================================================
  • 相关阅读:
    渲染管线
    C++windows内核编程笔记day13 进程、线程与信号量
    稻盛和夫:真正的聪明人,善于把事物简单化
    学会把复杂问题简单化
    任何事物,只要抓住了规律,就等于牵住了牛鼻子
    菩萨奶奶引领我学佛
    数据库每分钟运行监控SQL
    MySQL 从库down机
    sql server 跟踪日志
    胡小林:把日常生活中碰到的事变成我们发露忏悔的机会
  • 原文地址:https://www.cnblogs.com/chenadong/p/9649698.html
Copyright © 2011-2022 走看看