没有加入管理员界面,和时间戳函数,感觉这两个如果是包含在一个工程的话加在这里意义不大~
关于Tkinter没有详细注释,想了解参照我的博客python Tkinter http://blog.csdn.net/u011437680/article/details/40016649
#!/usr/bin/env python
#coding=utf-8import sys
from Tkinter import *
import crypt
import tkMessageBox
import random
import string
db = {}
#存储用户名和加密之后的密码
dbkey = {}
#存储用户名和两位的密钥
def creatcode(key, value):
string1 = string.letters + string.digits
keys = random.choice(string1) + random.choice(string1)
string2 = crypt.crypt(value, keys)
db[key] = string2
dbkey[key] = keys
#新用户注册时生成密钥并且把密码加密 密钥为两位随机的密码或者数字
def quitlogin():
sys.exit()
#退出的事件函数
def varify():
key = usrname.get()
value = password.get()
if db.has_key(key):
value = crypt.crypt(value, dbkey[key])
if db.has_key(key):
if value == db[key]:
tkMessageBox.showinfo("myqq", "登陆成功")
else:
tkMessageBox.showinfo("warning", "密码错误")
else:
tkMessageBox.showinfo("提示", "您是新用户,现在已经注册成功,可以尝试登陆")
creatcode(key, value)
#进行登陆验证
usrin = Tk()
label = Label(usrin, text = '用户登录')
label.grid(column = 2, row = 0)
usr = Label(usrin, text='用户名')
usr.grid(column = 2, row = 1)
usrname = Entry(usrin)
usr = Label(usrin, text = "用户名")
usr.grid(column = 1, row = 1)
usrname = Entry(usrin)
usrname.grid(column = 2, row = 1)
paswd = Label(usrin, text = "密码")
paswd.grid(column = 1, row = 2)
password = Entry(usrin)
password.grid(column = 2, row = 2)
quit = Button(usrin, text = "退出", command = quitlogin)
quit.grid(column = 2, row = 3)
logup = Button(usrin, text = "登陆", command = varify)
logup.grid(column = 1, row = 3)
usrin.mainloop()