【发布时间】:2020-07-22 23:27:15
【问题描述】:
我有一个应用程序,用户通过在文本字段中输入唯一的数字代码来完成签到。他们的号码被发送到服务器,如果发现它属于某个用户,则该用户被签入。通常一次输入多个号码,所有号码都在一次上传中发送。任何找不到对应用户的号码都会被退回。
我想在前端添加验证,它可以告诉用户他们输入的代码是否存在于数据库中,但不知道它属于谁。假设:
- 数据库中的所有代码都是唯一的,并且是唯一的数字,例如
1234567; - 代码不是由用户选择的,而是预先确定的,不能更改;和
- 所有用户都缓存在前端(没有他们的密码);
这种检查可以做吗?
我考虑为每个用户存储用户代码的md5 哈希值,但这很容易逆转。我也可以在哈希中添加随机盐;它会混淆该过程,但用户仍然可以对其进行解码,因为源 Javascript 是可见的。
这是一个可行的任务吗? 如果没有,我怎样才能尽可能地混淆用户的密码?
【问题讨论】:
-
这个“密码”与密码有何不同?