作为一枚勤勤恳恳的技术运营小弟
本以为搞完第二期腾讯极客挑战赛后
终于可以闲下来摸鱼
没想到完事后龙哥扔来个任务——
为Top60的选手加码送上纪念品
龙哥还特别叮嘱了:
“这届选手太优秀,纪念品必须好好整!”
……
“好的,老大!”
我回头看了看赛事预算
在之前颁发完一系列的奖牌和奖金后
账上的经费就只剩下
¥16.70
……
既然如此
咱技术人也不搞什么花钱花里胡哨的了
干脆就整60份获奖证书吧
考虑到邮费环保问题
就做成电子版的线上发放
不过有个问题
如今PS大法无所不能
怎么防止别人随意伪造电子奖状?
怎么把平平无奇的奖状搞得有意义?
机智如我很快想到
本期极客挑战赛的题目是
“实现一个最小的程序输出自身MD5”
其核心算法就是MD5
而MD5通常被用于校验文件
那么我们何不延续比赛主题
利用MD5算法为电子奖状设计防伪保护?
例如——
让60张不同的电子奖状
碰撞出一模一样的MD5
我兴冲冲地跟龙哥说了这个想法
龙哥略作沉思后,语重心长地对我说:
这个奖品的确不费钱
就是费、算、力!
如果采用暴力碰撞的方法
让两个不同的文件具备相同的MD5
需要跑多长时间?
按照现在最好的CPU来计算
采用普通的单线程算法大概需要——
25万亿亿年
……
亿万年太久
就在我准备放弃时
龙哥的一句话重燃起我的希望:
“是时候让安全算力平台出马了”
龙哥所说的这个平台
支撑着我们日常的万亿级全局流量实时计算
如此强大的安全算力
不薅白不薅啊!
于是依托安全算力的支撑
通过硬件加速以及对算法的极致优化
在一番电光火石、风云骤变的碰撞之下
仅仅用时3小时
60个不同文件碰撞出了相同的MD5!
↓ ↓ ↓
就这样
一批内含百万算力的奖状出炉了
特别献给这届优秀的Top60选手们
想要验证奖状真伪
只需看文件的MD5是否为以下散列值即可
“20201223f23b4465099a6f3d4a0f2eea”
看着省下来的16块7毛钱经费
不禁留下了打工人的幸福眼泪
最后再说个正经事儿
下一期腾讯极客挑战赛
我们年后再约!
让我们用代码
一起做些好玩有趣的事情!
这60份MD5完全相同的证书下载
请前往比赛官网 https://geek.qq.com/1/
想要获取更多赛事&技术资讯
欢迎扫码添加管理员加入极客官方交流群
与鹅厂技术大咖亲密接触
与赛事出题人面对面交流
与参赛选手一起刷题打怪升级