关于登陆服务器设计的记录

关于登陆服务器的实现

(1) 设计

  怎么实现合理,怎么实现安全,怎么能够保证用户的账号安全。这里是我的一些经验,以及我实现的方式。

  登陆的本质是验证密码的正确,当然也必须保证这个过程是安全的,不会被别人盗取。这样就需要对传输的数据进行加密,最安全的方案是用非对称的加密方式对数据进行保护,这样本身没有问题,但是这样的话就需要对客户段服务器分别保存对方的公共密钥。这种方法可行,还有一种成型的方案是用jwt的方式来实现这样也是可以的。

  这里用的不是这种方式。用的是一种对称加密的方式来保证数据传输的安全性,用md5的方式对密码进行保护,就可以做到安全的数据传输。

  怎么做到对称加密数据的安全,万一密钥被别人知道呢,这里是这样实现的,每个用户在登陆的时候,都先去服务器要一个密钥,这个密钥是在本次登陆过程中对数据进行加密。这个密钥在内存中或者是缓存中进行临时存储。

  md5是怎么保护用户的密码的?这个需要去了解md5的实现原理。

(2) 注册

  注册数据可以通过  token = base64(账号 + md5(账号+密码)) 来组册 服务器存储 账号->md5(账号+密码)的对应关系。

(3) 登陆

  1.通过uuid 来获取相对唯一的密钥。

  2.通过uuid和登陆token来登陆 token=base64(aes(账号 + md5(账号+密码))) 。

(4) 验证

  通过账号id以及本次登陆生成的token来验证本次登陆。

 

 

具体实现代码可以留言和我要! 

posted @ 2019-10-08 16:27  一诺·flying苹果  阅读(486)  评论(0编辑  收藏  举报