1
SkyFvcker 2014-05-08 13:00:06 +08:00
没有SSL比较好的方法是,服务器生成随机数r发给客户端,客户端计算hash(r+bcrypt(密码)+时间),然后服务器再验证hash(r+服务端保存的值+时间)是否等于发来的值。
|
2
rankjie 2014-05-08 13:07:50 +08:00 via iPhone
@SkyFvcker
好复杂的方法,似乎可用于客户端hash算法不会被恶意替换的情况(例如CS架构)。但如果是BS架构,hash算法应该就是js写的,没有ssl的情况什么都能给你替换了,hash返回明文,再截取了照样白瞎… |
3
rankjie 2014-05-08 13:11:46 +08:00
@SkyFvcker 再想了下,这个 bcrypt(密码) 生成的 hash 每次都是不同的吧? 如果把这个 hash 当作明文再 hash 一次,最终的 hash 怎么可能能匹配上啊...?
|
4
oott123 2014-05-08 13:40:01 +08:00 via Android
上个 ssl 吧…
不然就只有明文了,浏览器和数据库总有一个不能加盐,除非你愿意共享盐… |
5
un OP 客户端是浏览器。浏览器端js hash掉,被抓包的话确实 hash 的意义都没了。真想安全看来只能 SSL 了。
|