用 hashcash 打击垃圾邮件
2007-03-29 12:40:11 来源:WEB开发网现在让我们来看 bashcash 如何在电子邮件中起作用。
bashcash 如何在电子邮件中起作用
在理想的世界中,所有发送者都应该在他们的消息中包含 bashcash 标记;接收者在接收时都将检查它们的合法性。不过,在实际生活中,hashcash 还没有得到那么广泛的应用。虽然如此,开始使用 bashcash(不管是作为发送者还是作为接收者)并不会对现有电子邮件工具产生任何 影响。换句话说,在电子邮件中使用 bashcash,您不会有任何损失。
为了给发出的消息加上戳记,只需要向电子邮件添加头文件即可:用于电子邮件的每一个 To: 或 Cc: 接收者的 X-Hashcash 头。例如,某个想给我发送消息的人可能会在消息中包含一个与示例 rfc2822 头文件类似的头文件:
X-Hashcash: 1:20:040927:mertz@gnosis.cx::odVZhQMP:7ca28
显然,应该由 MUA(邮件用户代理,mail user agents)、过滤器或者 MTA(邮件传输代理,mail transport agents)来做这件事情,而不是要求用户手工完成。不过,手工完成也不太难,至少实验时如此。首先,通过查看戳记的散列来校验它,如下所示:
$ echo -n 1:20:040927:mertz@gnosis.cx::odVZhQMP:7ca28 | sha
00000b50b85a61e7ba8ac4d5fed317c737706ae5
注意前导零(每一个十六进制数是 4 个比特)。当然,还需要校验哪个资源是您识别出来的那个资源(比如您的收件人地址之一),那个戳记还没有被使用过,日期是当前日期。另外,一个合法的戳记拥有的前导零的数目应该与其声明要拥有的数目相同(不过您可以决定强制实行您自己的允许邮件通过的最小代价:20 比特是一个不完全标准(semi-standard),它最终可能会随着 Moore 定律而发生改变)。
更多精彩
赞助商链接