RSA加密问题
前提:
1.后端使用一对固定的公私钥,登录时,将公钥发给前端,再用私钥解密前端发送的数据。
2.前端加密生成的字符串每次都是不一样的。
问题
前几次的加密结果依然可以登录系统!
这种情况怎么处理
每次用户请求的时候都重新生成公私钥?
或者其他更有好的方式?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
前端传递时间戳的方式不行,前端和后端时间并不统一。
其实有点类似于jwt和session的问题讨论了。
jwt可以使用access_token和refresh_token以及黑名单机制
其实还是推荐传统的session方式
首先,这样的加密是用来在传输过程中防止串改,抓包用的,更多的是用移动端和后端之间的加密解密。
其次,前端的信息基本都是公开的,你给前端发送一个公钥,难道我就不能获得这个公钥了吗?我一步一步的debug是不是也可以知道你加密的过程?所以,这个流程不应该放到前端。
三,登录这个流程你即便使用明文传输也没有多少风险,如果你真的怕了,就用MD5加sign的方式验证,传到后端的是用户名,密码,时间戳,还有就是sign,sign的值是MD5(盐+时间戳+密码+用户名)