登入采用非对称加密,是每个用户各有一个密钥对,还是所有用户共享一对密钥对?如果每个用户各有一个密钥对,后端还需要缓存这对公钥私钥也太麻烦了把,如果有一些信息,比如权限信息如果存放在token中,前端还需要自己解码吗?唉,最近思考好久都没整明白,有大佬解解惑吗?
如果采用非对称加密,公钥是公开的谁都能用,私钥是服务器上保密的,只有服务器能用。只需要一对密钥对就行了。由于非对称加密的特性,公钥可以加密但不能解密,所以在客户端上使用公钥加密的东西丢给别人,连带公钥一起给他都不用担心会泄漏。参阅:安全地在前后端之间传输数据 - 「1」技术预研安全地在前后端之间传输数据 - 「2」注册和登录示例安全地在前后端之间传输数据 - 「3」真的安全吗?还有两篇比较早期的Web 应用的安全的登录认证Web 应用中保证密码传输安全
如果采用非对称加密,公钥是公开的谁都能用,私钥是服务器上保密的,只有服务器能用。只需要一对密钥对就行了。
由于非对称加密的特性,公钥可以加密但不能解密,所以在客户端上使用公钥加密的东西丢给别人,连带公钥一起给他都不用担心会泄漏。
参阅:
还有两篇比较早期的