练习:密码加密
本练习将遵循业界最佳实践,为现代 Web 或移动应用设计一个用户认证系统。使用带随机盐的安全 Argon2 密码哈希,实现用户注册/登录/修改密码功能。将用户名及其对应的 Argon2 哈希密码(连同 Argon2 算法参数和随机盐)以 username:argon2hash 形式的键值对保存在一个简单的 JSON 文档中。在真实场景中,可以使用数据库代替 JSON 文档,但这里让练习保持简单。
...
待办
...
实现“注册用户”
输入:用户名 + 密码 + 包含所有当前账户的 JSON。
输出:修改后的 JSON 文件,或 "user exists" 异常。
...
待办
...
实现“用户登录”
输入:用户名 + 密码 + 包含所有当前账户的 JSON。
输出:登录正确/不正确。
...
待办
...
实现“修改密码”
输入:用户名 + 旧密码 + 新密码 + 包含所有当前账户的 JSON。
输出:修改后的 JSON 文件,或 "user exists" 异常。
...
待办
...
实现“重置密码”
输入:用户名 + 新密码 + 包含所有当前账户的 JSON。
输出:修改后的 JSON 文件,或 "user exists" 异常。
...
待办
...