我正在为没有 SSL 的网站构建一个 Web 登录系统,所以这是我的实现:
我在服务器中有一个表,它有两个字段,一个原始用户名和 pass_hashed(使用 sha1(密码))。当用户登录我的系统时,我会:
- 生成密钥。
- password_hashed = sha1(key + sha1(密码))
- 提交 3 个值:用户名、密钥、密码哈希
在服务器端:
- 检查密钥是否存储在数据库中,如果是,则使登录无效,否则将密钥保存到数据库。
- 根据用户名查询用户信息,然后比较sha1(key + pass_hased)和password_hashed。
我的问题是我的方法可以吗?如果是,我可以使用密钥作为时间戳吗?