首页 > 其他分享 >基于md5加密的模拟管理员登录系统

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

时间:2023-08-07 23:11:47浏览次数:36  
标签:username csv 加密 admin df 管理员 str password md5

import os import pandas as pd
def md5(string:str=''):     import hashlib     md5 = hashlib.md5()     md5.update(string.encode('utf-8'))     return md5.hexdigest() # In [1]: 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[1]: '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[df['admin_username']==admin_username]['admin_password'])[0]         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_username],                 'admin_name':[admin_name],                 'admin_idcard':[admin_idcard],                 'admin_telephone':[admin_telephone],                 'admin_email':[admin_email],                 'admin_job':[admin_job],                 'admin_banknum':[admin_banknum],                 'admin_password':[md5(admin_password)]},                 dtype=str)             df = pd.concat([df,dfi])             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[df['admin_username']==self.admin_username]         df.loc[index,[column]] = 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[df['admin_username']!=self.admin_username]         df = df.loc[index,:]         df.to_csv('admin.csv',encoding='utf-8',index=None)     def cat_admin(self):         df = pd.read_csv('admin.csv',dtype=str)         df = df[df['admin_username'] == 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[df['admin_username']==admin_username]['admin_password'])[0]         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':[md5('123456')]},             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):')             break def main():     admin_main()
if __name__ == '__main__':     main()

标签:username,csv,加密,admin,df,管理员,str,password,md5
From: https://www.cnblogs.com/mlcode/p/login.html

相关文章

  • 番茄字体加密
    提供一个思路 然后一个一个去补 代码 importjsonfromfontTools.ttLibimportTTFontimportrefromlxmlimportetreewithopen('t.xml','r',encoding='utf-8')asfp:x=fp.read().encode('utf-8')xl=etree.HTML(x)k={......
  • [golang]使用mTLS双向加密认证http通信
    前言假设一个场景,服务端部署在内网,客户端需要通过暴露在公网的nginx与服务端进行通信。为了避免在公网进行http明文通信造成的信息泄露,nginx与客户端之间的通信应当使用https协议,并且nginx也要验证客户端的身份,也就是mTLS双向加密认证通信。这条通信链路有三个角色:服务端、N......
  • JAVA ASE 默认随机 sha1 key加密
    使用原始的方法publicstaticStringEncryptEncode(Stringcontent,String...key)throwsException{StringencryptKey="audaque2018";KeyGeneratorkeyGenerator=KeyGenerator.getInstance("AES");SecureRandomrandom=......
  • TSINGSEE青犀视频安防监控视频平台加密机的详细使用与操作步骤
    我们在此前的文章中介绍过不少TSINGSEE青犀视频安防监控视频平台关于加密机授权操作及相关疑问解答,感兴趣的用户可以翻阅往期的文章进行了解。由于新用户咨询该方面的问题较多,今天我们再来介绍一下操作步骤。注意:加密机是依据IP授权,因此授权的前提是加密机的网络与要授权的视频监控......
  • 前端获取 文件md5值
    //md5值计算exportfunctionfileToMd5(file:Blob){returnnewPromise((resolve)=>{constfileReader=newFileReader();fileReader.onloadend=(ev)=>{resolve(CryptoJs.MD5(CryptoJs.enc.Latin1.parse(ev.target.result)).toString(CryptoJs......
  • MD5加密
    AandroidMD5加密/***MD5加密**@paramstr*@return*/publicstaticStringgetMD5Str(Stringstr){MessageDigestmessageDigest=null;try{messageDigest=MessageDigest.getInstance("MD5"......
  • 22加密模块/日志模块
    购物程序代码作业importosimportjson#获取执行文件所在的路径current_path=os.path.dirname(__file__)#拼接db文件夹的路径data_path=os.path.join(current_path,'db')ifnotos.path.exists(data_path):#如果文件夹路径不存在os.mkdir(data_path)#......
  • 我写了一个shell脚本然后加密了
    原文链接:我写了一个shell脚本然后加密了hello,大家晚上好啊,今天为大家带来一个小工具--shc。shc是一个可以用来对shell脚本进行加密的工具,它操作起来很方便,它的作用是将我们编写的shell脚本可以转换为一个可执行的二进制文件,起到加密的作用,当然,GitHub上也有很多的工具用来解析shc生......
  • PDF加密的实现方法
    通过pdfbox实现pdfbox加密实现方式非常简单,当然这个类的功能不止加密,还有很多实现,具体参考官方demo和apihttps://pdfbox.apache.org/docs/2.0.13/javadocs/pom依赖<!-- pdfbox 目前最新版本是2.0.16 --><dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>......
  • 查看证书/apk指纹md5/sha1/sha256
    Android证书在线一键生成工具查看apk指纹keytool-printcert-jarfileandroid_debug.apk查看证书职位keytool-list-v-keystoreandroid.keystore......