rus*_*sau 43 language-agnostic algorithm hash
我正在做关于MD5碰撞的演讲,我想让人们知道碰撞的可能性.
最好有两个文本块对同一个东西进行哈希处理,并解释在碰撞之前需要多少[a-zA-Z]组合.
显而易见的答案是哈希每个可能的组合,直到两个哈希相同.那么你将如何编写这个呢?作为一个快速实验,我尝试散列5列[AZ]的每个组合,将其存储在.net哈希表中并捕获碰撞异常.这有两个问题 - 哈希表最终超时,我很确定我需要更多的字符.
显然这个数据结构太大而无法在内存中处理,所以现在我必须要涉及一个数据库.听起来像是一个测试天蓝色的好项目 - 有点像这些家伙.
有人能指出我这样做的有效方法吗?
Ale*_*lex 51
以下两个不同的128字节序列散列为相同:
MD5哈希:79054025255fb1a26e4bc422aef54eb4
以下差异突出显示(粗体).对不起,有点难看.
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89 55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0 e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70
和
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89 55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0 e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70
碰撞/ block1的可视化(来源:Links.Org)

碰撞/ block2的可视化(来源:Links.Org)
