邮件重复数据删除

Flo*_*ris 6 email hash sha bigdata deduplication

是否真的可以通过使用一些标题来重复删除电子邮件,因为根据RFC,它们的message-id应该是唯一的?

有没有办法计算下面这个重复数据删除方法错过1个单一电子邮件的机会(这3个标题的sha512哈希)?

// $email is a parsed array containing 3 keys (mime headers) -> message_id, subject and date. $hashStr = $email['message_id']; $hashStr .= $email['subject']; $hashStr .= $email['date']; $uniqueEmailId = hash('sha512', $hashStr);

没有任何一封电子邮件可以被遗漏,这是一项至关重要的任务,我们可能需要对几个(> 2亿)mime文件进行重复数据删除.

klu*_*ama 4

SHA512 哈希生成包含 512 位数据的哈希值。假设位随机分布,则结果有超过 1.34e+154 个可能值。即使有超过 2e+9 个样本,意外碰撞的可能性也非常接近于零。

然而,您输入的哈希值并不是那么随机。 message_id是一个全局唯一标识符,“仅”有 5.3e+36 个可能值,随机性取决于实现。根据 wiki 链接,4.2e+18 个样本发生碰撞的几率约为 50%。电子邮件地址和日期可能远高于此。

也就是说,如果没有实际进行概率数学计算,我会说可能性可以忽略不计。