每日一博 | 没想到 Hash 冲突还能这么玩,你的服务中招了吗?
点击上方蓝色字体,关注我 —— 一个在阿里云打工的清华学渣! 图 by: 石头 背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个《一些有意思的攻击手段.pdf》,我觉得这个话题应该还是有不少人不清楚的,今天我就准备来“实战”一把,还请各位看官轻拍。 洪强宁(洪教授),爱因互动创始人兼 CTO,曾任豆瓣首席架构师,为中国 Python 用户组(CPUG)的创立者之一。 这才是真大佬,原来洪教授在宜信的时候,就有分享过这个内容,可惜当初不知道没参加。看了之后才知道原来我上一篇的文章中讲的 计时攻击(Timing Attack) 也是其中的内容之一。哈哈,后面有空再研究研究继续讲其他内容。 Hash 冲突 啥叫 Hash 冲突?我们从 Hash 表(或者散列表)讲起,我们知道在一个 hash 表的查找一个元素,期望的时间复杂度为 O(1),怎么做到的呢?其实就是 hash() 函数在起作用。 初略来讲,hash 表内部实际存储还是跟数组类似,用连续的内存空间存储元素,只要通过某种方法将将要存储的元素映射为数组的下标,即可像数组一样通过下标去读取对应的元素,这也是为什...
