python全栈开发:hashlib加密

 哈希加密代码

#!/usr/bin/env python
# -*- coding;utf-8 -*-
"""
    哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改
"""
import hashlib
# 对相同字符串进行相同加密算法会得到相同结果
# 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密
# 别人不知道已给的字符串,通过123执行加密得不到最后的密文
hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
hash.update(bytes("123", encoding="utf-8"))
print(hash.hexdigest())

 基于md5对密码加密实现登录和注册

#!/usr/bin/env python
# -*- coding;utf-8 -*-
import hashlib
"""
    哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改
"""
"""
import hashlib
# 对相同字符串进行相同加密算法会得到相同结果
# 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密
# 别人不知道已给的字符串,通过123执行加密得不到最后的密文
hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
hash.update(bytes("123", encoding="utf-8"))
print(hash.hexdigest())
"""


def md5(arg):
    hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
    hash.update(bytes(arg, encoding="utf-8"))
    return hash.hexdigest()


def login(user, pwd):
    with open("db", "r", encoding="utf-8") as f:
        for line in f:
            a, b = line.split("|")
            if a == user and b == md5(pwd):
                return True
            else:
                return False


def regiser(user, pwd):
    with open("db", "a", encoding="utf-8") as f:
        temp = user + "|" + md5(pwd) + "\n"
        f.write(temp)
        return True


def inp():
    user = input("请输入用户名:\n>>>")
    pwd = input("请输入密码:\n>>>")
    return user, pwd


if __name__ == "__main__":
   a = input("1、登录;2、注册\n>>>")
   if a == str(1):
       user, pwd = inp()
       if login(user, pwd):
           print("登陆成功!")
       else:
            print("登陆失败!")
   elif a == str(2):
       user, pwd = inp()
       if regiser(user, pwd):
           print("注册成功!")
       else:
           print("注册失败!")

  

posted @ 2017-03-02 14:19  倪兴国  阅读(207)  评论(0编辑  收藏  举报