python实现账号密码登录

article/2025/9/11 13:27:04

用Python实现账号密码登录

准备

无需数据库

程序简介

运行这个程序,注册后哪怕重新运行,注册的账号依然存在,我们可以把账号密码分别保存到2个txt中,使用的时候再读取txt

为了安全起见,我们可以对账号密码进行加密,在进行保存,读取时也将用户输入的内容进行加密,在进行读取,加密代码如下:

add = 0
s = 1
str_add = ''
inv_str_add = ''
buf = input('请输入账号:')
for i in buf:add += ord(i)str_add += str(ord(i))
for i in str_add:s += 1
for i in range(1, s):inv_str_add += str_add[-i]
print('加密前:{}\n加密后:{}' .format(buf, add + int(inv_str_add)))

因为要考虑周全,所以总体代码较长,代码如下:

s = input('您有账号吗(有回“1”,没有回“2”):')
if s == '2':print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()print(1)else:print('两次密码不一致,请重新输入')while True:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakprint(1)else:print('两次密码不一致,请重新输入')
if s =='1':add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]d = ('{}{}' .format(bu, add + int(inv_str_add)))u = open('用户名.txt','r')h = u.read()if d in h:add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的密码:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]j = ('{}{}' .format(bu, add + int(inv_str_add)))e1 = open('密码.txt','r')f = e1.read()e1.close()if j in f:print('登录成功!')print(1)else:print('密码错误')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请再次输入::')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]qw = ('{}{}' .format(bu, add + int(inv_str_add)))if qw in f:print('登录成功')print(1)else:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]y = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:e = open('用户名.txt','a+')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(y)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]rt = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a+')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(rt)e1.write('\n')e1.close()print(1)else:print('两次密码不一致,请重新输入')while True:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakprint(1)else:print('两次密码不一致,请重新输入')else:print('对不起,没有查询到此账号')n = input('您是否需要注册账号,(回答‘是’或‘否’):')if n =='是' :print('两次密码不一致,请重新输入')while True:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakprint(1)else:print('两次密码不一致,请重新输入')while True:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakprint(1)else:print('两次密码不一致,请重新输入')else:while True:add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入 用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]d = ('{}{}' .format(bu, add + int(inv_str_add)))u = open('用户名.txt','r')h = u.read()u.close()e1 = open('密码.txt','r')h1 = e1.read()e1.close()if d in h:add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入密码:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]j = ('{}{}' .format(bu, add + int(inv_str_add)))if j in h1:print('登录成功!')breakprint(1)else:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakprint(1)else:print('两次密码不一致,请重新输入')else:print('对不起,没有查询到此账号')n = input('您是否需要注册账号,(回答‘是’或‘否’):')if n =='是' :print('对不起,没有查询到此账号')n = input('您是否需要注册账号,(回答‘是’或‘否’):')if n =='是' :print('两次密码不一致,请重新输入')while True:print('正在为您注册账号···')add = 0s = 1str_add = ''inv_str_add = ''bu = input('请输入您的新用户名:')for i in bu:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a1 = ('{}{}' .format(bu, add + int(inv_str_add)))p = input('请输入您的密码:')i = input('请再次输入您的密码:')if p==i:print('好的,已为您自动登录')e = open('用户名.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e.write(a1)e.write('\n')e.close()add = 0s = 1str_add = ''inv_str_add = ''for i in p:add += ord(i)str_add += str(ord(i))for i in str_add:s += 1for i in range(1, s):inv_str_add += str_add[-i]a = ('{}{}' .format(p, add + int(inv_str_add)))e1 = open('密码.txt','a')#r = '{'+'\''+y+'\''+':'+'\''+p+'\'''}'e1.write(a)e1.write('\n')e1.close()breakbreakprint(1)

运行结果:

 

 


http://chatgpt.dhexx.cn/article/FB7Z3B57.shtml

相关文章

验证账号、密码登录

在商贸系统登录的时候,不需要验证码的验证,只需要验证账户和密码正确就可以进行登录,所以我们就只需要对账号和密码进行判断。这里写的登录逻辑很简单。 只做到了:当用户输入了账号和密码正确就可以登录进去,并没有完善到其它功能所以逻辑是容易理解而且清晰。给登录按钮…

(Html)实现一个账号密码登录的弹窗界面(代码)

一、代码段 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>账号密码弹窗</title> </head><body><label>账号</label><br><input id"user"><br><label>…

QT 记住账号密码登录

弄了个简单的记住账号密码登录功能&#xff0c;适合初学者学习&#xff0c;直接上代码&#xff0c;代码有注释。 喂饭到嘴边了&#xff0c;看你会不会吃啦 开发环境是VS2015 1、由于没有写注册功能&#xff0c;所以账号和密码我提前写在一个ini文件&#xff0c;这个文件直接手…

31、Java——JDBC实现账号密码登录

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;乐趣国学的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…

基于Java的账号、密码登陆页面及验证

基于Java的登陆页面 需求功能 程序登录页面验证页面 后续 需求 我们在日常上网的过程中&#xff0c;常常会使用很多注册、登录我们的账号和密码的环节。这是网页开发中必不可少的一个环节。本文中将利用JavaTomcat完成一个简单的账号、密码登录的网页。 功能 首先&#xff0…

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()或im2double()将数据类型转换为浮点型

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()将数据类型为float 为什么&#xff1f; 看一个实例的运行结果就知道了~ f imread(F:\material\images\P0020-Line-detection-01.tif); w [2 -1 -1;-1 2 -1;-1 -1 2]; g_tofloat imfilter(tofloat(f),w); …

matlab图像处理函数

1.1 读取和保存图像(其中Iimread(‘’)) 1.1.1 imtool() imtool&#xff08;I&#xff09;在图形中显示灰度图像I&#xff0c;I为矩阵&#xff0c;元素范围为0-255. imtool&#xff08;I&#xff0c;[low&#xff0c;high]&#xff09;小于等于low的为黑色&#xff0c;大于等于…

【Matlab】im2double的用法

im2double函数用于将图像转换为双精度。 语法形式有4种&#xff0c;分别是&#xff1a; I2 im2double(I); RGB2 im2double(RGB); I im2double(BW); X2 im2double(X, indexed); 描述&#xff1a; I2 im2double(I)将灰度图像I转换为双精度&#xff0c;必要时可以…

MATLAB图像处理,double 与im2double的用处与区别【学习笔记】

double只是将像素的灰度值从int8换为double&#xff0c;数值大小不变&#xff0c;125还是125.0。 im2double则附带了归一化操作&#xff0c;125变成了125/2550.490196078 double也不是毫无用处&#xff0c;在将一个256级的灰度图修改为4级时候就用这个&#xff0c;用im2double反…

信息论 | 计算离散信源的信息量和熵的MATLAB实现(函数封装调用)

《信息论基础》 实验报告 姓名 XX 班级 XXXXXX 学号 2020XXXXXXXX 实验项目 计算离散信源的熵 日期 2022.10.21 实验环境 联想电脑MATLAB R2018a版 实验内容与完成情况&#xff08;记录实验内容、操作步骤、实验结果等&#xff0c;包括系统输出的错误信息&#xff0c…

信息量,信息熵,纯度

如果看不懂博文&#xff0c;请阅读《信息论基础》一看便懂。 链接&#xff1a;https://pan.baidu.com/s/1T7rS4owM2nU_DP6rthqUPA 提取码&#xff1a;zu9s &#xff08;1&#xff09;消息 消息是实体&#xff0c;信息是抽象的。可以从消息中获取信息。消息的表现形式可以是…

基于GIS技术的地质灾害易发性评价—信息量模型

1.将上述步骤的所有图层和历史滑坡点导入arcgis,并使用多值提取至点的步骤,提取滑坡点属性值 2.转换工具—表转excel,得到多值提取至点的表格 3.打开各图层属性表提取每一分级的栅格像元,并计算信息量值。

自信息量,熵及其性质

一般地&#xff0c;如果一个随机事件有种等可能的结果&#xff0c;那么对其编码恰需要n位二进制数&#xff0c;即n比特来储存消息。 因此&#xff0c;可以把对所有可能消息的最小二进制编码位数近似着作该随机事件的熵&#xff0c;记为H。 对于上面的例子分别有 定义2.3 …

GIS与地质灾害评价——信息量的统计

GIS与地质灾害评价中一般都要进行信息量的统计&#xff0c;特别是地质灾害易发性评价的过程中&#xff0c;我们通常将某一因子分为几类&#xff0c;为了比较某一因子不同类别致灾的贡献率&#xff0c;我们通常都要进行信息量的统计。 下边我将某一区域的高程因子为例进行信息量…

数学期望、信息量、信息熵、相对熵、交叉熵

1、数学期望 数学期望就是总体的均值&#xff0c;或者各项的加权平均。 先看离散的情况&#xff0c;假设X为离散型随机变量&#xff0c;x1&#xff0c;x2&#xff0c;x3&#xff0c;……&#xff0c;xk为随机变量的所有可能取值&#xff0c;p1&#xff0c;p2&#xff0c;p3&a…

信息论:信息量的计算

香农定义&#xff0c;一个事件包含信息量的大小由这个事件消除了多少不确定性决定 计算得出的信息称为 Shannon information content 信息量在某些情况下是可加的&#xff0c;比如&#xff1a; 得知一个六面骰子投掷三次的结果所包含的信息量&#xff0c;是得知投掷一次的结果…

信息量与信息熵

信息量 信息奠基人香农&#xff08;Shannon&#xff09;认为“信息是用来消除随机不确定性的东西”。也就是说衡量信息量大小就看这个信息消除不确定性的程度。 “太阳从东方升起了”这条信息没有减少不确定性。因为太阳肯定从东面升起。这是句废话&#xff0c;信息量为0。 …

信息量为什么要表示成对数的形式

近期在路上进行了不少的思考&#xff0c;任何方面&#xff0c;任何领域…我会把这些记录在手机的备忘录里&#xff0c;然后在周末总结出来&#xff0c;早就成了习惯。 近日对信息论&#xff0c;排队论以及贝叶斯定理关注比较多&#xff0c;后二者可以完全改造TCP的拥塞控制机制…

离散信源信息量、平均信息量的计算

信息量I与消息出现的概率 P(x) 之间的关系&#xff1a; 1.信息量是概率的函数&#xff0c;即If[P(x)]&#xff1b; 2.P(x) 越小&#xff0c;I越大&#xff0c;P(x) 越大&#xff0c;I越小&#xff1b; 3.若干个相互独立事件构成的消息&#xff0c;所含信息量等于各独立事件信息…

信息量和信息熵的理解

信息量和信息熵的概念最早是出现在通信理论中的&#xff0c;其概念最早是由信息论鼻祖香农在其经典的paper《A Mathematical Theory of Communication》中提出的。如今&#xff0c;这些概念不仅仅是通信领域中的基础概念&#xff0c;也被广泛的应用到了其他的领域中&#xff0c…