MD5基本上目前还是比较通用的密码保存方式,但是很容易通过一些工具直接把简单的明文反出来。然后就改进,有了加盐一说,加盐之后确实极大地提升了密码被反查出来的风险。今天又看到一种比较非主流的方法,那就是保存密码MD5散列的前10位,当场就给跪了。
Select Case Int(sType) Case 0 '32位 MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) Case 1 '16位 MD5=LCase(WordToHex(b) & WordToHex(c)) Case 2 '左10位 MD5=Left(LCase(WordToHex(b) & WordToHex(c)),10) End Select
这样做的优点是:
- cmd5等在线反查工具目前完全无解。
- 暴力跑md5的程序基本也是无解,都是只支持16和32位的。
- 一般人破解起来代价比较高也麻烦。
缺点:
- 可能出现明文不同,密文相同的情况。
- 假如反查网站推出取md5的前多少位功能,那么方法就无效了,不过查询时间会延长,每次查询要做一次split。
- 太过非主流,扩展性兼容性不够好
说实在的,假如碰到这种保存的数据库,脱裤客们也只能大叫一声fuck了吧,哈哈哈哈,以后可以考虑保存31位的或者30位的,非主流啊!好累啊,感觉不会再破了。
你可能喜欢
本文标题:非主流md5密码保存
转载请注明来源,如果喜欢本站可以Feed订阅本站。
只保存十位,这如果有开源的跑表工具,稍微改一下代码,运算结果只要十位对上就ok了。而且这样子数据空间大大缩小了,就算是纯生成型暴力破解,大概只要(16^10)^0.5=1048576就能以50%的几率碰到一个符合条件的口令了,即便不是真实口令,也能登陆~我倒觉得应该把原始数据加长而不是剪短
我的意思是相对一般32位的变得麻烦了,如果是小网站破解的代价比32位的高了。
我知道你的意思,我就随便扯扯~嘿嘿
在得不到程序源码的情况下,未知算法,增大超级大的暴力难度,如果各种方式都试估计黑客要抽风(在强力计算机配合下)哈哈
暴力跑md5的程序可否介绍几个好用的?谢谢
可以去找找暗组工具包,windows下很多,linux下可以找bt5里的工具
遇到过一次这种肥猪流加密滴B程序,恶心之极….
最后只好找了份源码弄到密码之后update掉了
:)
有胆识!
看得我乐死了·
16位的是不是也会出现不同明文相同密文的情况?
比32位容易得多