用 hashcash 打击垃圾邮件
2007-03-29 12:40:11 来源:WEB开发网hashcash 是一个基于可广泛应用的 SHA-1 算法的巧妙系统,它使得请求者要进行大量可参数化的工作,而求值程序仍可以“廉价”地进行检验。换句话说,发送者为了向您的收件箱中放入一些内容,不得不去做一些切实的工作。您当然可以使用 hashcash 来防止垃圾邮件,不过它还有其他方面的应用,其中包括为 Wiki 防止垃圾邮件以及加速分布式并行应用程序的运转。在本文中,您将接触到 David 自己的基于 Python 的 hashcash 实现。
hashcash.org Web 站点(请参阅 参考资料)指出,hashcash 系统的主要功能是作为一个垃圾邮件过滤协议
Hashcash 是一个拒绝服务(denial-of-service)计数器度量工具。当前它的主要作用是帮助 hashcash 用户避免因为使用了基于内容和基于黑名单的(blacklist-based)反垃圾邮件系统而丢失邮件。
可是,我认为,这项技术有着广泛的适用性,并不是只适用于电子邮件。本文还将介绍这项技术在邮件过滤方面的应用,并将提供它在其他一些方面的应用。文中将介绍我自己用 Python 完成的 hashcash 实现(它似乎是第一个 当前 发布的 Python 版本),hashcash.org 站点上现在已经包含该实现。David McNab 创建了一个 Python 实现,该实现使用的协议与 hashcash 不是特别相似;其他一些开发人员也创建了部分实现 hashcash 的不完全的 Pytyhon 版本。
不过,在开始这些话题之前,让我们来回顾一下什么是 hashcash。
hashcash 基础知识
hashcash 的灵感来自于这样一个想法,即一些数学结果 难于发现而易于校验。一个众所周知的例子是因数分解一个大的数字(尤其是因数较少的数字)。将一些数字相乘来获得它们的积的代价是低廉的(毕竟,CPU 周期就是金钱),但首先找到那些因数,而这项操作的代价却要高得多。
更多精彩
赞助商链接