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

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

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

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

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

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

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

不过不止 md5 会有这种缺点,别的也有,md5 比较古老了,建议还是用别的
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