大家都是怎么管理自己那么多网站的账号密码的?
转自 知乎
任何密码管理工具都不如脑子靠谱。
应该怎样记下这些密码?
假如所有账号是相同密码,会很好记忆。
但这样会很危险,当黑客得知你某个账号密码后,其它账号就不攻自破了。
假如不同账号不同密码,少则几十多则上百个密码怎么记?
一个个密码记不科学,设置密码都能折腾死你,更别说记下了。
因此密码要有固定的规律,有固定的算法。
这样记住一个算法就全都记住了。
好的算法应该具备什么条件?
1、可根据不同账号算出不同的密码。
2、可以通过心算计算出密码。
3、无法(或难)通过单个密码逆算出规律。
目前其它回答中大略有以下算法(工具跳过),在下冒昧分析下:
1、域名(或名称)+ 原始密码。
如:
zhihu123456
(知乎 + 123456)
这类算法可以实现第1、第2点要求,但无法实现第3点。
只要拿到其中账户一个密码
就可以通过其结构推算出其它账号的密码。
2、域名(或名称)+ 原始密码 + 重要程度分类。
如:
zhihu123456yiban
(知乎 + 123456 + 一般)
这类算法是第一个算法的改良版,通过账号重要程度给账号分区避免一次性沦陷,但实质上改变并不大,还是无法实现第3点要求。
3,计算 原始密码+网站域名(或名称)的md5值作为密码
如:
728d87886590e7f3
(知乎 + 123456)
此算法优劣处成反比,它在逆算方面是无敌的(md5不可逆),但在计算方面就不堪直视了,应该没人能心算md5吧?每次都要通过工具计算,对应用场景限制,且很不方便。
此算法可实现第1、第3点要求,无法实现第2点要求。
4、@Inside 的算法。
算法比较复杂,在这就不重复说了,大家可以去看下他的回答
这类算法较为可靠,可以实现3点要求,虽然逆算方面没有md5牛,但也是很有难度的。
想找个能完美实现以上三点要求的算法真的很难。
现有的应该已经够用了。
有时间的可以自己尝试着修改第1、第2个算法。
如果可以,请尽可能的使用网站名称、名称长度这些动态元素;
如果可以,请尽可能数字部分多使用加减乘除;
如果可以,请尽可能打乱字符串顺序;
这样能使密码变数更大,从而增加逆算的难度。
请原谅我废话了一堆,却没公布自己的算法。
以上仅仅代表个人看法,如有说错的地方请各位大神纠正,如觉得还看得过去,请随手点个赞。
1.再复杂,再难记的密码,你用到了一个不安全的网站,一样是浮云。比如你使用一个16+以上包含所谓的大小写英文字母/还有数字特殊字符,用到一个没有加密的网站,网站被黑客黑了,你的密码也就泄露了。
2.对于国内的网站的安全现状,不是密码的复杂度的问题,而是如何保证你重要密码,比如银行密码,在线支付密码,重要的IM工具密码,比如qq、msn等,提供商不会被黑泄露你的密码。
3.现在国内黑客常用手段之一,获取一个id的密码后,到各大网站尝试是否能登录,所以还是要保证重要帐号密码不一样就ok了。
4.密码复杂度并不能保证你帐号安全,好的密码使用习惯才是帐号安全的根本。
1:绝大多数正常的网站,密码在数据库中存储的方式都是将你输入的密码经过一个加密算法加密后存储进去(流行的有MD5 +
随机salt、SHA等)。所以理论上网站是不可能知道你设置的密码的。登录验证的时候,将你输入的密码经过相同的加密方法加密后和数据库中对比即可完成
验证。为了安全,这些加密的算法是不可逆的,也就是说,一般人即使能进入数据库,查到存储的密码,看到的也只是一堆加密后的内容,无法得出原始密码(明
文)。所以找回密码只能重设,不能直接给,给了你也是加密后的内容,你自己也看不出来、算不出来密码是什么。这是出于安全考虑。
2:能直接给你密码的考试报名网站很可能是明文存储密码,非常不安全。目前世界上估计除了刚入门的小白编程用户以及低级政府机构下辖的网站会这么做了。
2013-8-8
update:根据评论搜索了一圈儿,除了上述说的不靠谱网站外,有些历史比较久的大网站也存在明文存储密码或者部分明文存储的现象。但是现在估计不会有
那个正常网站会如此做了,对用户来说太危险。那些曾经明文存储密码的诸如sina,CSDN也在被爆库以后改进了密码存储方法。
以上说的『算法不可逆』、『即使查到存储的密码,也是加密后的内容,无法得出原始密码』,仅正对一般用户。世界上的黑客组织们总是热衷于做一般人做不到
的事情,他们通常通过暴力无穷尝试、常用字典等方式,来『猜出』密文所对应的明文。所以,为了自身账号安全,即使是知道网站会将密码加密,也应该使用尽量
复杂的密码以及在不同网站使用不同密码。
任何密码管理工具都不如脑子靠谱。
应该怎样记下这些密码?
假如所有账号是相同密码,会很好记忆。
但这样会很危险,当黑客得知你某个账号密码后,其它账号就不攻自破了。
假如不同账号不同密码,少则几十多则上百个密码怎么记?
一个个密码记不科学,设置密码都能折腾死你,更别说记下了。
因此密码要有固定的规律,有固定的算法。
这样记住一个算法就全都记住了。
好的算法应该具备什么条件?
1、可根据不同账号算出不同的密码。
2、可以通过心算计算出密码。
3、无法(或难)通过单个密码逆算出规律。
目前其它回答中大略有以下算法(工具跳过),在下冒昧分析下:
1、域名(或名称)+ 原始密码。
如:
zhihu123456
(知乎 + 123456)
这类算法可以实现第1、第2点要求,但无法实现第3点。
只要拿到其中账户一个密码
就可以通过其结构推算出其它账号的密码。
2、域名(或名称)+ 原始密码 + 重要程度分类。
如:
zhihu123456yiban
(知乎 + 123456 + 一般)
这类算法是第一个算法的改良版,通过账号重要程度给账号分区避免一次性沦陷,但实质上改变并不大,还是无法实现第3点要求。
3,计算 原始密码+网站域名(或名称)的md5值作为密码
如:
728d87886590e7f3
(知乎 + 123456)
此算法优劣处成反比,它在逆算方面是无敌的(md5不可逆),但在计算方面就不堪直视了,应该没人能心算md5吧?每次都要通过工具计算,对应用场景限制,且很不方便。
此算法可实现第1、第3点要求,无法实现第2点要求。
4、@Inside 的算法。
算法比较复杂,在这就不重复说了,大家可以去看下他的回答
这类算法较为可靠,可以实现3点要求,虽然逆算方面没有md5牛,但也是很有难度的。
想找个能完美实现以上三点要求的算法真的很难。
现有的应该已经够用了。
有时间的可以自己尝试着修改第1、第2个算法。
如果可以,请尽可能的使用网站名称、名称长度这些动态元素;
如果可以,请尽可能数字部分多使用加减乘除;
如果可以,请尽可能打乱字符串顺序;
这样能使密码变数更大,从而增加逆算的难度。
请原谅我废话了一堆,却没公布自己的算法。
以上仅仅代表个人看法,如有说错的地方请各位大神纠正,如觉得还看得过去,请随手点个赞。
关于密码安全: