案例:MD5用户注册密码加密摘要

加盐:

md5 = hashlib.md5(bytes('cheng', encoding='utf-8'))

 

 1 import hashlib
 2 def zhuce():
 3     print('\n', '用户注册'.center(30, '-'), '\n')
 4     usr_name = input('请输入姓名:')                               # 获取用户信息
 5     usr_id = input('请输入用户名:')
 6     usr_pwd = input('请输入密码:')
 7     with open('file', 'a',  encoding='utf-8') as f:
 8         md5 = hashlib.md5()
 9         md5.update(bytes(usr_pwd, encoding='utf-8'))
10         usr_pwd = md5.hexdigest()                                # 密码摘要转换MD5
11         usr_info = '%s|%s|%s\n' %(usr_name, usr_id, usr_pwd)
12         f.write(usr_info)                                        # 将转换后的pwd以及未转换的id、name写入文件
13     print('\n', '注册成功'.center(30, '-'))
14 
15 def login():
16     print('\n', '用户登陆'.center(30, '-'), '\n')
17     new_usr_id = input('请输入用户名:')
18     new_usr_pwd = input('请输入密码:')
19     md5 = hashlib.md5()
20     md5.update(bytes(new_usr_pwd, encoding='utf-8'))
21     new_usr_pwd = md5.hexdigest()
22     with open('file', encoding='utf-8') as f:
23         for line in f:
24             usr_name, usr_id, usr_pwd = line.split('|')
25             a_pwd = usr_pwd.strip()
26             if a_pwd == new_usr_pwd and new_usr_id == usr_id:
27                 print('\n', '登陆成功'.center(30, '-'))
28                 print('\n', '欢迎 %s'.center(30, '-')% usr_name)
29                 break
30         else:
31             print('登陆失败')
32             print('用户名或密码错误')
33 
34 
35 while True:
36     print('''
37     ********* 请选择 *********
38         
39     -------> 1.登陆
40     -------> 2.注册
41     -------> 3.退出
42     ''')
43     usr_choice = input('>>:')
44     if usr_choice == '1':
45         login()
46     elif usr_choice == '2':
47         zhuce()
48     elif usr_choice == '3':
49         break

 

posted @ 2018-09-01 14:52  宝露  阅读(284)  评论(0)    收藏  举报