• 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
    ============================================================
  • 相关阅读:
    [20190507]sga_target=0注意修改_kghdsidx_count设置.txt
    进程与线程的区别和联系
    html option选中 回显 取值
    application.properties详解 --springBoot配置文件
    Address already in use: JVM_Bind:8080错误的解决办法
    垃圾回收监视和分析
    垃圾回收器种类
    Java垃圾回收是如何工作的?
    Java垃圾回收简介
    关于堆栈的详细讲解
  • 原文地址:https://www.cnblogs.com/chenadong/p/9649698.html
Copyright © 2020-2023  润新知