Post

简单的登录鉴权模块设计

在分布式系统中,有些模块服务需要单独暴露在外网供用户使用,但是其体量和重要性不如主要后台服务,不需要为其配置https服务,这个时候可不可以在http的基础上,设计一个简单的加密签名服务呢?

在整个业务中有三个主体:客户端C、服务端S、认证平台E(也就是后台)。

G收到C的登录请求,会向C发送一个一次性的salt。

C收到salt,使用自己的账号密码对salt进行加密并签名。加密用DES算法、签名用MD5算法。具体方法是:将用户密码先 md5 hash 一次,得到一个串。取串的前一半做 DES 加密算法的 key 加密 salt ;然后把结果连接上密码 hash 串的后半部分,一起做一次 MD5 。密文和签名连接在一起,最终会得到一个加过签名的密文 secret。

This post is licensed under CC BY 4.0 by the author.