我想实现一种登录机制来验证我的网络应用程序的管理员。但是由于我没有使用 ssl,所以我不能依赖用户通过 html 表单发送他的密码。
所以我想到了使用一次性密码(我其实不知道这个东西,我最终重新发明了这个概念,最终发现这样的东西已经存在了)
我想要的只是您对我的实施安全性的看法:
1) 客户端请求一个随机且唯一的哈希。服务器生成该散列,将其存储在会话变量中并将散列返回给客户端。
2) 客户端使用只有他和服务器知道的自定义算法从该哈希中导出密码。该密码被发送回服务器。
3)服务器做同样的事情并检查密码是否匹配,如果它们匹配,则用户已通过身份验证。
这完全可以破解吗?