使用python设计一个安全登录系统
时间: 2023-12-24 11:09:57 浏览: 27
好的,下面是一个简单的安全登录系统的 Python 代码示例:
```python
import hashlib
# 定义一个字典,用于存储用户名和密码的哈希值
users = {}
# 注册函数
def register():
username = input("请输入用户名:")
password = input("请输入密码:")
# 对密码进行哈希
password_hash = hashlib.sha256(password.encode()).hexdigest()
# 将用户名和密码的哈希值存储到字典中
users[username] = password_hash
print("注册成功!")
# 登录函数
def login():
username = input("请输入用户名:")
password = input("请输入密码:")
# 对密码进行哈希
password_hash = hashlib.sha256(password.encode()).hexdigest()
# 判断用户名和密码是否匹配
if users.get(username) == password_hash:
print("登录成功!")
else:
print("用户名或密码错误!")
# 主函数
def main():
while True:
print("1. 注册")
print("2. 登录")
print("3. 退出")
choice = input("请选择操作:")
if choice == "1":
register()
elif choice == "2":
login()
elif choice == "3":
break
else:
print("输入有误,请重新输入!")
if __name__ == '__main__':
main()
```
该代码实现了一个简单的安全登录系统,用户可以选择注册或登录操作。在注册时,用户输入用户名和密码,系统将密码进行哈希后存储到字典中;在登录时,用户输入用户名和密码,系统将密码进行哈希后与字典中存储的哈希值进行比对,如果匹配则登录成功,否则登录失败。这样可以保证用户的密码不会被明文存储在系统中,提高了系统的安全性。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)