md5 方式存储密码会有什么问题吗

2023-09-27 07:44:34 +08:00
witcat  witcat

在用 cf workers 做一个小东西,按照惯性就直接 bcrypt 了。
但是 bcrypt 未必能在所有环境运行、也很费资源。比如在 workers 环境就无法运行。

我就在想了,加密的这么强,其实未必有人能找到门来破。即使找到门了也未必值得。 如果原本的明文密码够强,其实 md5 方式存储也没有什么问题吧?
验证的时候就再 md5 一遍,然后看结果是不是一样就行。

而且这个前提这是个管理员路由,所以不能有 123456 这样的密码。

1038 次点击
所在节点   程序员  程序员
14 条回复
ladypxy
ladypxy
2023-09-27 07:59:18 +08:00
md5 加密强?
witcat
witcat
2023-09-27 08:02:09 +08:00
@ladypxy 那就 SHA-256
someonedeng
someonedeng
2023-09-27 08:04:40 +08:00
ysc3839
ysc3839
2023-09-27 08:06:56 +08:00
没有纯 js 实现的 bcrypt 等算法吗?
crysislinux
crysislinux
2023-09-27 08:08:24 +08:00
先不说 md5 有没有问题,你这样没盐啊
ThirdFlame
ThirdFlame
2023-09-27 08:10:34 +08:00
哈希存储只是为了防止看到明文密码 或者 不能简单的通过哈希反查明文。

建议上加盐后 sha256 当然如果只是自己用的小东西,那你哈希不哈希都没啥意义。
superares
superares
2023-09-27 08:12:13 +08:00
md5 弱不是因为原始密码弱,是它能碰撞出来,你设置一个 20 位的原始密码,我用个 6 位的碰撞出来就行,不需要知道原始的。 加强原始密码的目的只是为了不出现在彩虹表中
cmdOptionKana
cmdOptionKana
2023-09-27 08:14:15 +08:00
听起来像单用户?单用户(或少量可控用户)用明文都可以,只要是个随机生成的密码就行。加盐之类的一般主要是为了万一被拖库时有多一层保护。
hyperbin
hyperbin
2023-09-27 08:15:09 +08:00
穷举速度快,任意碰撞已有先例,密码推荐使用慢哈希算法
witcat
witcat
2023-09-27 08:18:34 +08:00
@cmdOptionKana 有价值回答
bianhui
bianhui
2023-09-27 08:19:49 +08:00
对,加密只是防止存的是明文,就安全的角度来说,传输和存储过程中的安全远大于这个
rocmax
rocmax
2023-09-27 08:20:37 +08:00
@superares 所谓的 md5 碰撞是说在已知原文的基础上可以根据公式构造出另一段 md5 相同的信息。
xbird
xbird
2023-09-27 08:23:37 +08:00
cmd5.org 可以撞出来,如果密码强度不高或者被收录过

不过不止 md5 会有这种缺点,别的也有,md5 比较古老了,建议还是用别的
expy
expy
2023-09-27 08:39:57 +08:00
argon2 bcrypt 专门设计成计算耗时长,内存占用大。万一被脱库也很难暴力遍历来找出明文密码。

md5 和 sha 系列计算太快了,你这还不加盐,直接彩虹表查表就能攻击了。

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

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

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

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

© 2021 V2EX