作者kencool107 (脸都歪了)
看板PHP
标题[请益] MD5的一些疑惑
时间Thu Jun 14 10:08:24 2012
抱着对MD5应用的一些疑惑去Google了一下
看到一篇
应用一:储存密码
这是 MD5 最常被使用的用途。
首先,我们将新使用者所输入的密码字串内容
(术语称为明码,也就是编码前的密码),
传给 MD5 演算函数算出暗码 (编码後的密码),
之後我们将该暗码,连同使用者 ID 及其他资料一并存入资料库中。
例如使用者帐号为 rock ,密码为 iloverock,
储存在资料库中的帐号资料格式及内容如下:
rock:85782f5e159d638811a7a8a7fa318754
第二个栏位储存的,就是暗码。
稍後,当使用者欲再签入时,
先以使用者 ID 为键值,
自资料库中读取帐号资料,
再将使用者输入的明码,
同样地传给 MD5 演算函数得出一结果,
将此结果与帐号资料中的暗码比对是否完全相符。
-------------------------------------------------------------
我的问题是 这样做和直接将明码存在DB
再拿输入的明码去跟DB比对有什麽不同
毕竟比对这种事 应该是写在php里面 使用者应该看不到才对
为何要多此一举呢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.55.25
※ 编辑: kencool107 来自: 60.251.55.25 (06/14 10:11)
1F:→ CaptainH:1. 避免 web admin 监守自盗 06/14 10:22
2F:推 LPH66:当资料库内容外泄时 在当中看到明码是件糟糕透顶的事 06/14 10:23
3F:→ CaptainH:2. 即使资料库外流, 密码也不会外泄 06/14 10:23
所以主要是对资料库的内容做保护罗 学习了
※ 编辑: kencool107 来自: 60.251.55.25 (06/14 10:27)
4F:→ gname:缺点是密码忘了就取不回来了... 06/14 11:00
5F:→ arrack:正常的md5 通常还是取得回来 06/14 11:03
6F:→ arrack:尤其是那种用单字当密码的 06/14 11:05
MD5不是不可逆的吗??除非用非常手段?
这让我想到昨天我要上1111人力银行的时候
密码忘记了
然後输入一些资料 它就把原本的密码寄给我了(不是乱数生成的)
这说明了 他密码是用明码的方式存在资料库吗
还是有其他种做法
※ 编辑: kencool107 来自: 60.251.55.25 (06/14 11:08)
※ 编辑: kencool107 来自: 60.251.55.25 (06/14 11:11)
7F:→ arrack:是单向没错,但当你知道XXXX加密後=YYYY 这种单向就可以破 06/14 11:23
8F:→ arrack:有现成的表可以查 06/14 11:26
9F:→ twsphere:这样多人使用怎可能都用单字.我猜是明码吧..(转头) 06/14 11:27
10F:→ arrack:1111那种当然是明码,104、露天好像也是 06/14 11:30
11F:推 twsphere:。。刚刚测试=.=硍真的是明码.想申请删除资料了 06/14 11:32
12F:→ arrack:所以密码最好每个网站都不同(认真) 06/14 11:34
13F:→ kerash:GOOGLE 我的密码没加密 , 会知道某些站都是plaintext 06/14 12:00
14F:推 twsphere:推上来那个 好网站 不错 06/14 15:04