# 小型用户登录系统实现技术博客


背景介绍

随着用户需求的增加,系统需要实现注册、登录和密码修改功能,同时支持本地文件存储密码,避免依赖外部服务。本系统基于Python实现,采用简单文件存储方式,确保代码简洁且可运行。

思路分析

  1. 注册功能
    • 用户输入注册用户名和密码,系统先从本地文件中读取密码,若文件未保存则写入。
    • 存储逻辑基于文件读写,无需处理加密,直接将密码保存至文件中。
  2. 登录验证
    • 用户输入用户名和密码,系统通过本地文件读取密码验证,若匹配则提示成功,并保存密码。
  3. 密码修改功能
    • 用户输入用户名和新密码,系统验证密码是否与本地文件一致,若匹配则更新文件内容。

代码实现

1. 本地文件存储密码

# 存储密码的文件路径
password_file = "passwords.txt"

# 定义密码文件的写入函数
def store_password(username, password):
    try:
        with open(password_file, 'w', encoding='utf-8') as f:
            f.write(f"{username} {password}\n")
    except Exception as e:
        print("Error storing password:", e)

# 读取密码文件
def read_password():
    try:
        with open(password_file, 'r', encoding='utf-8') as f:
            return f.read().strip()
    except Exception as e:
        print("Error reading password:", e)

2. 注册功能

# 注册用户
def register_user(username, password):
    try:
        if not read_password():
            store_password(username, password)
            print("注册成功!密码已保存到文件中:", username, password)
        else:
            print("注册失败!密码已存在本地文件中。")
    except Exception as e:
        print("Error registering ", e)

3. 登录验证

# 登录功能
def login_user(username, password):
    try:
        stored_password = read_password()
        if stored_password == f"{username} {password}":
            print("登录成功!")
            return True
        else:
            print("登录失败!验证失败。")
            return False
    except Exception as e:
        print("Error validating login:", e)

4. 密码修改功能

# 修改密码功能
def update_password(username, new_password):
    try:
        # 读取当前密码
        current_password = read_password()
        # 判断是否匹配
        if current_password == f"{username} {new_password}":
            store_password(username, new_password)
            print("密码修改成功!")
        else:
            print("密码修改失败!验证失败。")
    except Exception as e:
        print("Error updating password:", e)

5. 总结

本系统实现了注册、登录和密码修改功能,密码存储基于本地文件,无需依赖外部服务。代码实现简洁,可运行在1~3天内,具备基础学习价值。系统通过文件读写实现密码存储,并验证登录操作,确保用户使用安全、易用的本地存储方式。

参考说明

  • 本系统采用Python实现,密码文件存储在本地,确保系统独立运行。
  • 代码中包含注释解释关键步骤,便于用户理解。