随着医院 ICU 室传出一阵电波的长鸣声,一位老人与世长辞。

虽然他走的时候平静而安详并没有太过痛苦,但是一直守在室外的子女们却开始了新一轮高分贝的争吵。

形成如此鲜明的反差,不用说,肯定是为了老人遗产的分配问题!

可是令人称奇的是,这司空见惯的家庭遗产争夺战居然打到了简睿的面前......


听完负责调解纠纷民警的来意后,蔡学飞仍一头雾水,他有些质疑到来的民警是否找错了人,笑称官司怎么还打到我们这儿了。

原来啊,这位刚去世的老人的确留有一笔不小的财产,生前将这笔钱放在了一个新开的银行账号里。

因为怕银行账号和密码丢失又怕被人窃取,老人就将相关信息保存到了电脑中,并且将文件压缩打包,还加上了密码。

蔡学飞和简睿从民警提供的照片中看到,的确是一个 Zip 压缩文件。

民警接着说,老人生前一直是小女儿照顾,打算将财产都留给小女儿。

可是他的大儿子听说后表示强烈不满,于是要求老人也要分其一部分财产。

老人的大儿子平时就对老人不管不问,自从知道有财产一事,后来变本加厉还天天逼老人交出文件密码。


老人家是不胜其扰、苦不堪言啊!

还好加密文件保存在了一个安全的地方,仅仅说出密码还不能真正地转移这笔财产。

思索再三,最终迫于无奈,老人只好说出密码,这才消停了好一阵。


可是如今老人去世,这大儿子就又跳出来嚷嚷着要分财产,口口声声说自己有老人的文件密码。

然而老人的小女儿也同样声称自己也拥有文件密码,说老人生前就承诺将财产全部留给了她。

很显然,这位老人不可能将全部财产同时分给两个人,因此民警将二人带到警局分开调查询问。

结果令人啧啧称奇的是,这两个人手上的密码居然并不相同。


如下,是大儿子的密码。

pkH8a0AqNbHcdw8GrmSp
 

如下,是小女儿的密码。

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You
 


这一下就给民警整不会了,咋还出来两个不同的密码?

虽说这些密码看上去都挺古怪,但古怪并不能说明谁就一定有效正确。

有人就说了,拿老人的压缩文件来解密试试不就知道了!

心动不如行动,哥几个就开始忙乎开了,拿到老人的加密文件后这么一试不要紧,结果给这哥几个彻底整懵逼了。

怎么回事?

两个完全不同的密码,怎么看都不一样的密码,居然都可以成功解开老人的加密文件!


“同一个 Zip 压缩文件可以存在两个有效解压密码?“

“不能吧?见鬼啦!”

”可是结果大家伙儿不都看到了嘛!“

哥几个是你一言我一语,叽叽喳喳说个不停,然而就是没有个定论,案情一度陷入僵局。

最后有人提出了,这电脑系统的玩意咱又不懂,还是有请高人吧!

这正是整个案情的来龙去脉!


蔡学飞听罢一拍大腿:”嘿!有意思哈!这位老人家莫不是电脑大神,要不他就是背后有高人,他咋知道有两个密码的?师傅,你看...“

再一瞅简睿,并没有答话,一直在一旁静静地听着。

等民警说完,他扶了扶眼镜,微笑着说:“原来如此,我记得 Zip 文件好像是有可能同时拥有两个不同密码的!”

民警听闻顿时眼前一亮:“老简,我就知道找你找对了!赶快说说,怎么回事?”

蔡学飞一看有戏,马上立在师傅一旁,倒要看个究竟。


关于 Zip 压缩文件有两个密码这事,简睿解释道,这并不算是程序的漏洞,而是由于一种特殊情况造成的。

当用户提取文件,并输入了一个超过 64 字节的密码时,如果加密算法选择的是 AES-256 ,那么输入的密码不会被直接使用,而是会被应用程序计算成 SHA1 哈希值,然后用这个 SHA1 哈希值与正确密码比较,从而判断是否可以解压释放文件。

简单地说,用户输入的密码太长,导致程序多走了一步,将其哈希值当作了密码。


图形操作,打包压缩文件,或是使用命令行,效果都是一样的。


在这次案情中,小女儿手里的密码就是一个超过 64 位的长密码。

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You
 


当使用这个密码解压缩文件时,Zip 应用程序就会计算它的 SHA1 哈希值。

706b4838613041714e62486364773847726d5370
 

可以使用一些在线工具查看验证,也可以下载使用文末提供的网管小贾自制工具。


最后将这个 SHA1 哈希值由每两位为一个单位的 16 进制数值“翻译”成 ASCII 码,就产生了另一个明文密码,也就是案情里大儿子手里的那个密码。

比如,70ACSII 码对应的字符就是小写的字母 p6b 就是小写的字母 k ,以此类推,简单吧?

pkH8a0AqNbHcdw8GrmSp
 


于是结果就成了,不管是小女儿的密码,还是大儿子的密码,都可以正确成功地将老人的加密文件给解压缩出来。


说到这儿,蔡学飞兴奋地忍不住插了句嘴:“这好嘿!要是这样,那以后可以多搞些成对的密码啦!”

简睿摆了摆手、摇了摇头:“那可没那么容易!”


造成这种特殊情况需要几个前提条件。

  1. 用户输入的密码必须大于 64 位,应用程序才会启动计算并产生 SHA1 哈希值。
  2. 加密算法必须要使用 AES-256
  3. 产生的 SHA1 哈希值必须可以转换成可显的 ASCII 码,不可显的 ASCII 码(看上去像问号的乱码)并没有意义。


我们来张动图加深一下印象,如果还有怀疑可以自行测试哦!


我自制了一个小工具,但受到哈希算法不可逆所限,实际使用中我们是无法反向获取字串密码的。


作为演示测试,分享给小伙伴们学习研究。


网管小贾的 ZIP 多重密码生成器

XJZipMultiPassword.7z(7.59K)

下载链接:https://pan.baidu.com/s/1LQNC75dgj5QsAKMHjNjY8Q

提取码:

输入阅读密码,解锁隐藏内容...



★扫码关注公众号, 发送【000984】获取阅读密码


虽然完美地解释了案情问题的前因后果,然而,故事并没有结束!

蔡学飞咧嘴说笑,可一旁的民警听完简睿的讲述后,忽然皱起了眉头:“俩都算是正确的密码?那老人的财产究竟应该给谁呢?这下又难办了!”

这显然已经不是技术问题了,正在大家陷入沉思之时,民警的手机突然响了起来。

接完电话,民警露出了久违的笑容,兴奋地宣布案情有结果了!

最终警方从某公证处确认了老人生前公证过的遗嘱,上面白纸黑字清清楚楚地写着,小女儿持有的密码才是唯一有效的,小女儿也是遗产唯一的继承者。

至此,众人心里的疙瘩解开了,案情不但真相大白,结局也振奋人心、非常圆满!


将技术融入生活,打造有趣之故事。

网管小贾 / sysadm.cc



暂无评论

登录并提交评论

© 2020-present 网管小贾 | 微信公众号 @网管小贾
许可协议:CC-BY-NC 4.0 | 转载文章请注明作者出处及相关链接