qakcn
学生会会长
学生会会长
  • 注册日期2008-10-31
  • 最后登录2021-01-05
  • 生日1988-8-18
  • 光玉3394颗
阅读:969回复:25

[聊聊]你的密码安全吗?

楼主#
更多 发布于:2012-01-08 16:44
最近连连爆出各大网站的密码都是用明文存储的,搞得大家人心惶惶。但冷静下来之后,更多的是质疑——为什么是明文?为什么没有加密?

关于加密,在《科普第7篇——加密解密》里就说过了,有兴趣的可以去看看。

这里向大家保证,家族的密码不是明文的(如下图,图中的都是被永久禁言的用户,大家不用担心):
[IMG]http://p.dmdjz.com/uploads/2012/01/%E9%80%89%E5%8C%BA_006.png[/IMG]

在password一栏里的都是MD5码。科普第7篇里说过,MD5是单向的,无法解密(注意:无法解密不等于无法破解),那么网站是怎么验证密码的呢?

在我们登录时,服务器会把接收到的密码计算一下MD5码,然后和存储的MD5码进行比对,如果一样的话就证明密码是正确的。

但是密码不是明文的并不代表你随便用个密码就是安全的。因为MD5码和明文的关系是一一对应的(其实这个说法不准确,下面会提到),一些简单密码的MD5码可以非常方便地查到(比如http://cmd5.com这样的网站,通过收集大量的MD5校验码来建立数据库供人查询)。比如:
明文:123456
二进制(十六进制表示):0x31 0x32 0x33 0x34 0x35 0x36
MD5码:e10adc3949ba59abbe56e057f20f883e

所以设置一个复杂的密码还是有必要的,这样即使密文泄露了破解起来也比较困难。
MD5还有个特点(其实是所有Hash算法的特点)就是,即使数据只发生了很小的变化,计算的结果也要有很大的改变。
比如还是上面这个例子,我们只改变二进制数的最后一位:
明文:123457
二进制:0x31 0x32 0x33 0x34 0x35 0x37
MD5码:f1887d3f9e6ee7a32fe5e76f4ab80d63

基于这个特点,网站存储密码时还有种方法是给密码后面加上一些其他字符,并进行多次MD5计算。
比如,同样是123456,我们在它的MD5码后面加上一个日期(比如注册日期)的校验码(比如20121221的MD5码1f69b3d54c2f95a014ea3cc131a34d5b),就成了
明文:123456
MD5码:e10adc3949ba59abbe56e057f20f883e
加上日期:e10adc3949ba59abbe56e057f20f883e1f69b3d54c2f95a014ea3cc131a34d5b
加上日期后的MD5校验码:efd2ff44702e71bcd5a86eee08f366aa

这种加上其他字符的方式叫做加盐(salt)。这样即使简单的密码也可以产生类似复杂密码的校验码,并且MD5码的长度是128位,我们在后面加上另一个校验码会产生有256位的假象,用来迷惑破解者。或者,我们可以把日期的校验码截取一下只要后面的32位,伪装成SHA-1码(另一种Hash算法,SHA-1码有160位)。
明文:123456
MD5码:e10adc3949ba59abbe56e057f20f883e
加上日期:e10adc3949ba59abbe56e057f20f883e31a34d5b(截取日期的后32位。32位二进制数用十六进制表示是8位)
加上日期后的MD5校验码:a0d4fe089415fae084993ec14dedae16

我们还可以继续加上另一个字符的MD5码的后32位(比如dmdjz的MD5码4951041c47ea2db2afe280a3d1909706),然后再把a0d4fe089415fae084993ec14dedae16d1909706这串字符存入数据库,这样加大了迷惑性难以破解。

不过除了简单密码容易破解之外,MD5还有一个弱点,那就是会产生碰撞,也就是说两个不同的数据会产生同样的MD5码(所以上面说的一一对应在这里就不对了)。当然计算出这个碰撞的结果是比较难的,不过为了安全,还是采用碰撞更少的Hash算法比较安全。比如SHA-1(SHA-1也已经被证明能够产生碰撞)或SHA-2(包括SHA-224、SHA-256、SHA-384、SHA-512,后面的数字是Hash码的长度)。
明文:123456
MD5码:e10adc3949ba59abbe56e057f20f883e
SHA-1码:7c4a8d09ca3762af61e59520943dc26494f8941b
SHA-224码:f8cdb04495ded47615258f9dc6a3f4707fd2405434fefc3cbf4ef4e6
SHA-256码:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
SHA-384码:0a989ebc4a77b56a6e2bb7b19d995d185ce44090c13e2984b7ecc6d446d4b61ea9991b76a4c2f04b1b4d244841449454
SHA-512码:ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413

当然,即使是SHA家族的算法,也依然是和明文有对应关系的,虽然也可以通过加盐来提高安全性,但你无法保证你所去的网站有这样做。所以最好的办法还是自己设定一个复杂的密码。
一个好的密码应该:
1、不使用常用的单词和句子,比如什么iloveyou、fuckyou啊之类的。
2、不使用纯数字密码,纯数字密码再长也是很好破解的。
3、最好是大小写字母、数字、符号混排。
4、好记。再好的密码,你自己记不住那也白搭。
5、定期更换。你永远也无法保证密码不会泄露,定期更换密码绝对是个好习惯。


不过……
再好的密码,也敌不过明文存储啊!
喜欢0 评分0
bleen
光坂学士生
光坂学士生
  • 注册日期2010-05-28
  • 最后登录2022-02-21
  • 生日1988-12-9
  • 光玉2111颗
沙发#
发布于:2012-01-08 16:48
那个叫雪崩效应。

攻防都是很恩爱的,无所谓谁比谁厉害,哦哈哈哈。。
回复(0) 喜欢(0)     评分
bleen
光坂学士生
光坂学士生
  • 注册日期2010-05-28
  • 最后登录2022-02-21
  • 生日1988-12-9
  • 光玉2111颗
2楼#
发布于:2012-01-08 17:00
回 1楼(bleen) 的帖子
我倒不觉得有人会对论坛的资料感兴趣。。。

HASH的特征是弱碰撞性,现在的技术已经可以从密文里面找到一对值相同的密文,但是无法对应哪个明文,所以还是安全的。
回复(0) 喜欢(0)     评分
风化的羽翼
光坂硕士生
光坂硕士生
  • 注册日期2009-11-24
  • 最后登录2019-08-17
  • 生日1999-11-2
  • 光玉8577颗
3楼#
发布于:2012-01-08 17:24
= =简单密码路过~~
希望没人黑我的团子0.0
回复(0) 喜欢(0)     评分
冷夜寒星
光坂三年生
光坂三年生
  • 注册日期2011-01-21
  • 最后登录2019-03-29
  • 生日1990-9-10
  • 光玉639颗
4楼#
发布于:2012-01-08 17:32
两位技术党啊……只知道MD5和hash算法神马的但是一直不知道其原理的路过……
回复(0) 喜欢(0)     评分
青空に约束を
光坂学士生
光坂学士生
  • 注册日期2010-11-21
  • 最后登录2021-08-21
  • 生日1994-8-13
  • 光玉2247颗
5楼#
发布于:2012-01-08 17:48
= = 完全么懂...
[IMG]http://p.dmdjz.com/uploads/2012/08/%E7%B4%A2%E5%B0%BC%E5%AD%902%286%29.jpg[/IMG]
回复(0) 喜欢(0)     评分
chi015
光坂大学生
光坂大学生
  • 注册日期2010-10-10
  • 最后登录2012-07-13
  • 生日1989-7-29
  • 光玉1364颗
6楼#
发布于:2012-01-08 18:14
不敢复杂密码的啊,简单的都时常忘记。
回复(0) 喜欢(0)     评分
绯&幻
光坂三年生
光坂三年生
  • 注册日期2011-11-27
  • 最后登录2012-06-25
  • 生日1996-7-11
  • 光玉780颗
7楼#
发布于:2012-01-08 18:53
虽然不是很懂 ,但感觉很安全!
My Soul , Your Beat .
回复(0) 喜欢(0)     评分
非Θ好人
光坂学士生
光坂学士生
  • 注册日期2009-05-06
  • 最后登录2019-03-13
  • 生日1989-11-22
  • 光玉2682颗
8楼#
发布于:2012-01-08 18:58
密码   我基本所有都是一个密码       求高人帮我看看我QQ的密保什么的    我忘记了........  
[IMG]http://p.dmdjz.com/uploads/2011/10/3_35582_69cc10d72f664c4.jpg[/IMG]
回复(0) 喜欢(0)     评分
羽児伊
光坂三年生
光坂三年生
  • 注册日期2011-07-03
  • 最后登录2012-08-14
  • 生日1997-9-12
  • 光玉684颗
9楼#
发布于:2012-01-08 19:11
看不懂...密码简单的要死,却从没被盗过号。
不过...盗我号也没用
回复(0) 喜欢(0)     评分
shaya
学生会会长
学生会会长
  • 注册日期2009-05-01
  • 最后登录2024-05-13
  • 生日1988-3-18
  • 光玉11900颗
10楼#
发布于:2012-01-08 19:32
前段时间邮箱刚被盗……
家族麻将群欢迎各位喜欢日麻的朋友(←点我加入),不会也没关系,会有人教
(口胡,明明是日常、游戏、动漫聊天群,麻将群不打麻将是常识【拍飞】)
回复(0) 喜欢(0)     评分
fuhades
光坂逃学生
光坂逃学生
  • 注册日期2011-10-02
  • 最后登录2018-07-25
  • 生日1993-3-17
  • 光玉1295颗
11楼#
发布于:2012-01-08 19:59
用户被禁言,该主题自动屏蔽!
回复(0) 喜欢(0)     评分
mooncrazy
学生会会长
学生会会长
  • 注册日期2010-12-28
  • 最后登录2024-05-13
  • 生日1989-8-9
  • 光玉11146颗
12楼#
发布于:2012-01-08 20:01
明文密码太无语了

家族应该还安全吧,因为没有贼惦记
回复(0) 喜欢(0)     评分
甜瓜包制作大师
学生会干部
学生会干部
  • 注册日期2009-11-29
  • 最后登录2021-10-09
  • 生日1994-1-6
  • 光玉3410颗
13楼#
发布于:2012-01-08 20:57
本面包师的最近几年的密码安全性应该还不错,至于以前的……呵呵……
但是习惯了,所以也不太想改……
回复(0) 喜欢(0)     评分
liwaichung
光坂基金会
光坂基金会
  • 注册日期2012-01-03
  • 最后登录2012-03-17
  • 生日0-1-1
  • 光玉570颗
14楼#
发布于:2012-01-08 21:16
本人的是密碼如果是有關$的要用不同的,其他的沒有什麼特別就同1個..
回复(0) 喜欢(0)     评分
芊de奶昔
光坂基金会
光坂基金会
  • 注册日期2008-11-15
  • 最后登录2022-11-22
  • 生日1988-11-20
  • 光玉8699颗
15楼#
发布于:2012-01-08 22:53
额,密码不复杂的飘。

太难记不住。。
回复(0) 喜欢(0)     评分
命运の指轮
光坂学士生
光坂学士生
  • 注册日期2011-11-21
  • 最后登录2015-03-24
  • 生日1990-12-17
  • 光玉2290颗
16楼#
发布于:2012-01-08 23:23
改密码其实很烦。。唉
回复(0) 喜欢(0)     评分
serffyme水草~
光坂学士生
光坂学士生
  • 注册日期2008-12-11
  • 最后登录2020-04-28
  • 生日1989-11-27
  • 光玉4876颗
17楼#
发布于:2012-01-08 23:35
三天两头各种账号被盗。。
姐记性不好。。密码还都设的一样的。。
回复(0) 喜欢(0)     评分
陌莫
光坂学士生
光坂学士生
  • 注册日期2010-10-04
  • 最后登录2023-02-24
  • 生日1993-12-23
  • 光玉2133颗
18楼#
发布于:2012-01-08 23:45
唔~~我的密码就是纯数字唉,貌似不太安全的说
回复(0) 喜欢(0)     评分
li1793
光坂学士生
光坂学士生
  • 注册日期2012-01-02
  • 最后登录2019-04-17
  • 生日1989-9-16
  • 光玉3315颗
19楼#
发布于:2012-01-09 00:14
表示.。无视盗号的说..给盗了找回来就是
其实。。我早已知道结果,只是自己贱..想当面确认而已..
回复(0) 喜欢(0)     评分
fatebyfeng
光坂新入生
光坂新入生
  • 注册日期2012-01-06
  • 最后登录2012-12-02
  • 生日0-0-0
  • 光玉9颗
20楼#
发布于:2012-01-09 02:09
MD5加密是做网页的基础- -
不加密是不负责的态度~
回复(0) 喜欢(0)     评分
saintxavier
光坂大学生
光坂大学生
  • 注册日期2010-10-17
  • 最后登录2019-11-13
  • 生日1989-9-14
  • 光玉1148颗
21楼#
发布于:2012-01-09 09:53
我喜欢明文~明文多美啊~~
回复(0) 喜欢(0)     评分
红绯鱼
光坂硕士生
光坂硕士生
  • 注册日期2011-03-13
  • 最后登录2023-07-19
  • 生日1991-2-11
  • 光玉7105颗
22楼#
发布于:2012-01-09 18:27
唔~~感觉自己的密码不怎么安全啊。不过话说要是有木马的话是不是在密码复杂也是会被盗了。
表示纯数字压力很大,各种密码都是纯数字= =
回复(0) 喜欢(0)     评分
fal1988
光坂学士生
光坂学士生
  • 注册日期2009-10-27
  • 最后登录2012-02-28
  • 生日1988-1-13
  • 光玉3069颗
23楼#
发布于:2012-01-10 00:16
不愧是大扣呢,密码学的一部分知识搬上来了呢,我呢只会简简单单的MD5码的一些原理和编程,其他都很水货了
回复(0) 喜欢(0)     评分
dfwk1x
光坂大学生
光坂大学生
  • 注册日期2011-07-17
  • 最后登录2012-12-14
  • 生日1950-1-1
  • 光玉1928颗
24楼#
发布于:2012-01-10 08:38
不换密码的路过
回复(0) 喜欢(0)     评分
琥珀
光坂硕士生
光坂硕士生
  • 注册日期2009-06-07
  • 最后登录2020-12-09
  • 生日1989-12-26
  • 光玉6903颗
25楼#
发布于:2012-01-10 14:34
密码同样很简单的鹿过。

= =
回复(0) 喜欢(0)     评分
游客

返回顶部