md5算法在重复邮件识别方面的研究和实现

md5算法在重复邮件识别方面的研究和实现

ID:9118197

大小:58.68 KB

页数:8页

时间:2018-04-18

md5算法在重复邮件识别方面的研究和实现_第1页
md5算法在重复邮件识别方面的研究和实现_第2页
md5算法在重复邮件识别方面的研究和实现_第3页
md5算法在重复邮件识别方面的研究和实现_第4页
md5算法在重复邮件识别方面的研究和实现_第5页
md5算法在重复邮件识别方面的研究和实现_第6页
md5算法在重复邮件识别方面的研究和实现_第7页
md5算法在重复邮件识别方面的研究和实现_第8页
资源描述:

《md5算法在重复邮件识别方面的研究和实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MD5算法在重复邮件识别方面的研究和实现描述MD5信息-算法。这种算法可以将任意长度的信息处理成一个128bit(定长)的“指纹”或“信息”。任意两个不同信息不可能处理成同样的信息,同时根据得到的信息也不可能逆推出原始信息。MD5算法主要用于数字签名,出于安全的考虑,任何信息(明文)在用公钥加密系统(例如RSA)加密传送前,都要用MD5算法处理出一个信息。并应用MD5算法,实现对重复邮件的识别,从而准确、快速地将无用邮件过滤出来。,供学习和研宂使用,关键词MD5;信息-算法;秉复邮件的识别;邮件过滤TN918A1674-6708(2011)57-0185-02随着

2、网络和通信技术的发展,国际互联网正H渐成为全球最大的信息媒体,在人们的生活中发挥着越来越重要的作用。其中,电子邮件作为一种新的联系方式,在互联网上的应用十分普遍,邮件服务器众多,用户数量巨大。通过电子邮件,人们可以方便、快捷地向他人传递信息,可以和他人实现跨时间、跨地域的相互交流。电子邮件正代替传统的通信信件,成为人们生活当中不可或缺的一部分。在实际的应用中,舆情监测系统每天从互联网上实时获取大量的电子邮件信息,存储在本地之后,再进行后续地处理和分析,因为存在着以下的情况,很多重复的邮件也被采集存储下来:同一封邮件同时向地址簿中的多个联系人发送;向同一个人重复发送

3、同一封邮件。重复邮件的存在,不仅浪费了宝贵的存储空间和带宽资源,而且大大增加了后端人员对邮件的处理和分析工作量。因此,对重复邮件进行识别和过滤,成为提高工作效率的关键环节。但是,若采用直接比较邮件内容的方法来识别重复邮件,不仅需要将邮件原文全部保存入库,而且对大文本进行逐字匹配的效率也不高,算法在时间复杂度和空间复杂度上都有较大的缺憾,还会影响新邮件的实时接收。鉴于此,我们经过认真研究,决定在邮件分析程序中构造邮件要素的特征值,并应用MD5算法,实现对重复邮件的识别,从而准确、快速地将无用邮件过滤出来。1MD5算法描述MD5的全称是Message-DigestAl

4、gorithm5(信息-算法)[2],在90年代初由MITLaboratoryforComputerScience和RSADataSecurityInc的RonaldL.Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被“压缩”成一种保密的格式(即将一个任意长度的字节串变换成一个定长的大整数)。MD5的典型应用是对一段信息产生信息(Message-Digest),以防止信息内容被篡改。比如,在UNIX下有很多软件在下载的时候都有一个相同的扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:M

5、D5(tanajiya.tar.gz)=0cal75b9c0f726a831d895e269332461这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要对这个文件重新计算MD5,就会发现信息摘要不相同,由此可以确定得到的是一个不正确的文件。MD5还广泛用于加密和解密技术上。比如在UNIX系统中,用户的密码就是以MD5(或其它类似的算法)经加密

6、后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具存系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度MD5算法输入是一个任意长度的字节串,每个字节是8个bit。算法的执行分为以下几个步骤:1)补位MD5算法先对输入的数据进行补位,使得数据的长度(以byte为单位)对64求余的结果是56。即数据扩展至LEN=K*64+56个字节,K为整数。补

7、位方法:补一个1,然后补0至满足上述要求。相当于补一个0x80的字节,再补值为0的字节。这一步里总共补充的字节数为0个~63个。2)附加数据长度用一个64位的整数表示数据的原始长度(以bit为单位),将这个数字的8个字节按低位的在前,高位在后的顺序附加在补位后的数据后面。这时,数据被填补后的总长度为:LEN=K*64+56+8=(K+l)*64Bytes。3)初始化MD5参数设置四个32位整数变量(A,B,C,D)用来计算信息,毎一个变量被初始化成以下用十六进制数表示的数值.•A=0x67452301;B=0xcfcdab89;C=0x98badcfc;0=0x1

8、03254

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。