前端加密真能防抓包吗?为什么我加密了还是被看到明文?

Zz朱莉 阅读 9

最近在做登录功能,听说前端加密能防止密码被抓包看到,我就用 crypto-js 对密码做了 AES 加密再传给后端。但用 Charles 抓包一看,发现请求里的密文虽然看不懂,可我在浏览器控制台里随便打断点,就能看到原始密码变量,感觉根本没用啊?

是我加密方式不对,还是说前端加密本来就没意义?有没有真正安全的做法?

const encrypted = CryptoJS.AES.encrypt(password, 'my-secret-key').toString();
fetch('/login', {
  method: 'POST',
  body: JSON.stringify({ pwd: encrypted })
});
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
Mr-会娟
Mr-会娟 Lv1
前端加密确实不能完全防止抓包看到明文,主要原因是你提到的,在浏览器控制台打断点可以轻易看到原始密码。这是因为前端代码在浏览器中运行,所有操作都是透明的,用户可以随时查看和调试。

一般这样处理:首先,前端加密只是增加了一层混淆,不能依赖它来保证安全。真正的敏感数据应该在后端进行加密或签名。其次,可以考虑使用HTTPS来加密传输过程中的数据,防止中间人攻击。

至于你的代码,看起来没啥大问题,但关键是理解加密的局限性。你可以在后端进一步处理密码,比如加盐后再哈希存储。这样即使有人截获了密文,也很难破解出原始密码。

总之,前端加密不是银弹,要结合其他安全措施一起使用才行。
点赞
2026-03-25 02:01