专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
目录
相关文章推荐
芋道源码  ·  为什么 MyBatis 源码中,没有我那种 ... ·  13 小时前  
Java编程精选  ·  不准加班!美的强制18点20下班;大疆强制员 ... ·  4 天前  
芋道源码  ·  SpringBoot 采用 ... ·  2 天前  
芋道源码  ·  Jenkins + Docker ... ·  2 天前  
51好读  ›  专栏  ›  芋道源码

一个有争议的话题:客户端密码加密有必要吗?

芋道源码  · 公众号  · Java  · 2025-03-15 17:38

正文

👉 这是一个或许对你有用 的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 芋道快速开发平台 知识星球。 下面是星球提供的部分资料:

👉 这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、 商城 、支付、工作流、大屏报表、微信公众号、 ERP CRM AI 大模型 等等功能:

  • Boot 多模块架构:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 微服务架构:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 17/21 + SpringBoot 3.3、JDK 8/11 + Spring Boot 2.7 双版本

来源:江南一点雨


和小伙伴们讨论一个有争议的话题:

  • 密码加密需要在客户端进行吗?

有的人觉得密码加密直接在服务端进行就可以了,没必要在客户端做;当然也有人觉得可以在客户端进行密码加密,降低服务器的压力。

你要问松哥项目中是怎么做的,我会告诉你我们在客户端就对密码加密了。

为什么这么做呢?

我来和大家聊聊我们是怎么考虑的。

一 烫手山芋

首先我们有一个共识,就是明文密码是一个烫手山芋,是一个定时炸弹,应该尽早处理。

把这样一个炸弹从前端运到后端再进行加密处理,似乎并非一个好的办法。应该尽早对炸弹进行处理,然后再进行运输。

那么在客户端就对密码进行加密的目的是什么?防止密码在传输过程中泄露吗?

显然不是!

对于重放攻击来说,人家压根不 care 你是否在客户端加密密码,对于重放攻击来说,密码是否在客户端进行加密,问题都不大。

什么是重放攻击? 重放攻击(Replay Attack)是一种网络安全攻击,攻击者通过截获并重新发送之前捕获的数据包,以实现对系统的欺诈或破坏。这种攻击通常发生在没有正确实现消息认证和完整性保护的系统中。 一般来说,重放攻击有三个特点:

  1. 无需破解加密:攻击者不需要知道加密算法或密钥,只需复制和重放数据包。






请到「今天看啥」查看全文