登高极目 发表于 2023-8-8 03:38:44

基于md5加密的模拟管理员登录系统

import osimport pandas as pd
def md5(string:str=''):    import hashlib    md5 = hashlib.md5()    md5.update(string.encode('utf-8'))    return md5.hexdigest()# In : def md5(string:str=''):^M#    ...:     import hashlib^M#    ...:     md5 = hashlib.md5()^M#    ...:     md5.update(string.encode('utf-8'))^M#    ...:     return md5.hexdigest()^M#    ...: md5('Hello World')^M# Out: 'b10a8db164e0754105b7a99be72e3fe5'
class Admin():    def init():        if os.path.exists('admin.csv'):            os.remove('admin.csv')    def __init__(self,        admin_username:str='',        admin_name:str='',        admin_idcard:str='',        admin_telephone:str='',        admin_email:str='',        admin_job:str='',        admin_banknum:str='',        admin_password:str=''):        self.admin_username = admin_username        self.admin_password = admin_password        df = pd.read_csv('admin.csv',dtype=str)        admin_password = list(df==admin_username]['admin_password'])        if md5(self.admin_password) == admin_password:                self.admin_name = admin_name            self.admin_idcard = admin_idcard            self.admin_telephone = admin_telephone            self.admin_email = admin_email            self.admin_job = admin_job            self.admin_banknum = admin_banknum        else:            print('用户名或密码输入有误!')            exit()    def add_admin(self,        admin_username:str='',        admin_name:str='',        admin_idcard:str='',        admin_telephone:str='',        admin_email:str='',        admin_job:str='',        admin_banknum:str='',        admin_password:str=''):        df = pd.read_csv('admin.csv',dtype=str)        if admin_username not in list(df['admin_username']):            dfi = pd.DataFrame({                'admin_username':,                'admin_name':,                'admin_idcard':,                'admin_telephone':,                'admin_email':,                'admin_job':,                'admin_banknum':,                'admin_password':},                dtype=str)            df = pd.concat()            df.to_csv('admin.csv',encoding='utf-8',index=None)        else:            input('账户已存在,回车取消添加。')    def set_admin(self,column,value):        df = pd.read_csv('admin.csv',dtype=str)        index = df.index==self.admin_username]        df.loc] = value        df.to_csv('admin.csv',encoding='utf-8',index=None)    def del_admin(self):        df = pd.read_csv('admin.csv',dtype=str)        index = df.index!=self.admin_username]        df = df.loc        df.to_csv('admin.csv',encoding='utf-8',index=None)    def cat_admin(self):        df = pd.read_csv('admin.csv',dtype=str)        df = df == self.admin_username]        print(df)
def test():    admin = Admin(admin_username='0000',admin_password='123456')    admin.cat_admin()    admin.set_admin('admin_name','毛麟')    admin.add_admin(admin_username='0001',admin_password='123456')    admin = Admin(admin_username='0002',admin_password='123456')    admin.del_admin()
def admin_login():    print('欢迎进入毛子哥银行管理员系统登录页面:')    for i in range(3):        admin_username = input('请输入管理员登录账户:')        admin_password = input('请输入管理员登录密码:')        df = pd.read_csv('admin.csv',encoding='utf-8',dtype=str)        password = list(df==admin_username]['admin_password'])        if md5(admin_password) == password:            admin = Admin(admin_username=admin_username,admin_password=admin_password)            os.system('cls')            return admin        else:            os.system('cls')            print('哦豁,密码输错了进不去,难受!!!')            continue    os.system('cls')    print('密码这种东西都会忘,干脆把名字也一起忘了吧。')    exit()
def admin_main():    if not os.path.exists('admin.csv'):        df = pd.DataFrame({            'admin_username':['0000'],            'admin_name':[''],            'admin_idcard':[''],            'admin_telephone':[''],            'admin_email':[''],            'admin_job':[''],            'admin_banknum':[''],            'admin_password':},            dtype=str)        df.to_csv('admin.csv',encoding='utf-8',index=None)    admin = admin_login()    while True:        os.system('cls')        print('''欢迎进入毛子哥银行管理员系统:本系统提供以下功能:    1.添加用户;2.查看用户;3.修改用户;    4.切换用户;5.删除用户;6.退出系统。''')        menu = input('请输入你想要操作的功能编号:')        if menu == '1':            os.system('cls')            print('欢迎使用毛子哥银行管理员系统添加用户功能:')            admin_username = input('请输入登陆账号:')            admin_password = input('请输入登录密码:')            admin.add_admin(admin_username=admin_username,admin_password=admin_password)        elif menu == '2':            os.system('cls')            print('欢迎使用毛子哥银行管理员系统查看用户功能:')            admin.cat_admin()            input('回车取消查看。')        elif menu == '3':            os.system('cls')            print('欢迎使用毛子哥银行管理员系统修改用户功能:')            column = input('请输入当前用户需要修改的字段名字:')            value = input('请输入当前用户需要修改的字段数据:')            admin.set_admin(column,value)        elif menu == '4':            os.system('cls')            condition = input('即将切换毛子哥银行管理员系统账户(y/n):')            if condition == 'y':                admin = admin_login()        elif menu == '5':            os.system('cls')            condition = input('即将删除毛子哥银行管理员系统账户(y/n):')            if condition == 'y':                admin.del_admin()                continue        elif menu == '6':            os.system('cls')            condition = input('即将离开毛子哥银行管理员系统(y/n):')            breakdef main():    admin_main()
if __name__ == '__main__':    main()


来源:https://www.cnblogs.com/mlcode/p/login.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 基于md5加密的模拟管理员登录系统