欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-14 20:44:40
关于登陆服务器的实现 (1) 设计 怎么实现合理,怎么实现安全,怎么能够保证用户的账号安全。这里是我的一些经验,以及我实现的方式。 登陆的本质是验证密码的正确,当然也必须保证这个过程是安全的,不会被别人盗取。这样就需要对传输的数据进行加密,最安全的方案是用非对称的加密方式对数据进行保护,这样本身没有 ......

关于登陆服务器的实现

(1) 设计

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

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

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

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

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

(2) 注册

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

(3) 登陆

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

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

(4) 验证

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

 

 

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