请教下前端加密的安全问题

32 天前
 angeni

有一个 WebSocket 接口,因为是第一次做凭感觉写的。

我在发送请求中加入了签名 算法最简单的 MD5 (内容+时间戳+盐)

这样用一个比较短的过期时间防止重放,签名防止信息修改。

因为对前端不熟悉有个顾虑就是虽然 nuxt3 编译出来的代码是不可读的,但是前端断点应该能调试到我的加密盐吧?

我这样做安全吗?

499 次点击
所在节点    程序员
3 条回复
flyPig9527
32 天前
一般来说没法直接断点看到你的加密盐,为了更安全一些还是用非对称加密吧,比如 RSA 吧
FengMubai
32 天前
如果是固定盐, 不安全. md5 也不行, 换 sha256

你这种签名叫 HMAC, 需要 key 保密. 可以每次会话 (甚至是请求) 生成一个随机 key, 通过公钥加密发送给后端, 并用返回值确认

更好的方法是用客户端生成的私钥 (不用每次都发送 key 了) 签名

refer: https://developer.mozilla.org/zh-CN/docs/Web/API/SubtleCrypto/sign
angeni
32 天前
@FengMubai
@flyPig9527
谢谢,明白了~我去试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1043514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX