信息指纹概述

    任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。这个主要可以通过算法来实现。比较著名的有MD5等。比如:VS2005就自带了不少。你可以在调用它的函数就可以生成信息指纹。

    转换为信息指纹的好处:

   1 存储空间变小。一个只要存贮整形的数和一个需要存储整个字符串显然是数要好得多

   2 查找方便。如果字符串查找,则需要一个个匹配。而转换为整形则可以使用排序后折半查找等方法可以大大的提高效率。效率得到了提高。

    信息指纹的使用除了加密,搜索,还有典型的应用比如:

(1) 垃圾邮件 美一公司欲通过指纹加密技术拦截垃圾邮件

 http://mail.cstnet.cn/zazhi_17/anti_spam.html 

‘指纹’识别又是什么呢?”我虽然明白了Tony的意思,但还是难以想象出整个过程。

  “其实这是一种特定的算法。技术细节不便向你详细介绍。但是通过对邮件的这种处理,可以提取出每一封邮件的‘指纹’来。如果采用同一种算法所提取到的两封邮件的‘指纹’完全一致 , 那么就可以断定—这两封邮件的内容也是基本一致的。”Tony指着通过指纹技术被成功拦截在外的垃圾邮件得意地说,“一旦同一 ‘指纹’的邮件在单位时间内达到一定的数量值,我们就可以判定它有垃圾邮件的嫌疑。”

  “反垃圾”攻防实验室友情提示:对于伪造得很好的垃圾邮件,263攻防实验室仍然有足够的信心和从容应对的策略。通过“特定的算法”能识别出这种垃圾邮件独特的“指纹”,绝不会放过任何一个漏网之鱼的。

(2) 内容过滤(这个是我毕业设计使用的了)这个就不透露了还没毕业呢。

 这里提供一个Rabin  Hash Function的代码(Java),可以将不同的字符串生成一个唯一的32位数等。

http://jaist.dl.sourceforge.net/sourceforge/rabinhash/rabin-hash-function-2.0.zip

相关文献:

http://blog.wangyuhui.net/archives/8

同样的,如果你看过”数学之美 系列十三 信息指纹及其应用“, 请跟我一起想:既然文字在计算机里也是二进制表示,和那个指纹一样都是数字,那么,很长的文字也可以看做一个比指纹更长的数字.都是数字,那为什么把长数字(文字)映射到短数字(指纹),居然不会有很多重复?这就好象把一个500人大礼堂里所有的人赶到20人的小房间,居然没有很多人坐在别人身上一样不可思议.

我能想出来的答案是:因为那个大礼堂,本来就很空.我们不是把所有可能的长数字(文字)都来进行映射,毕竟,不是所有的长数字的组合,都是有语义的.有语义的,只是很少的一部分组合而已,就象500人的大礼堂,里面其实只有二十几个人.

 

数学之美 系列十三 信息指纹及其应用

http://my.donews.com/eraera/2006/08/05/yaUbEJISIyCYOFGCifDhFGoifRkpsSykosGb/

参考文献:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值