基于信息摘要的版权注册技术研究与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
MD5算法
MD5算法的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由MIT laboratory for computer science和RSA data security inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来[6]。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。MD5信息摘要算法对输入的任意长度的信息进行处理,生成一个128位的“指纹”或者“摘要”。两个不同的信息产生相同的摘要的可能性很小,因此可以说每一个信息都有一个与之对应的信息摘要。MD5算法可以应用于使用RSA这种公钥密码的数字签名技术当中,也就是说在对信息进行私钥加密之前使用MD5算法对信息进行压缩。 [资料来源:http://THINK58.com]
这个算法经过细致的编码,在32位计算机中的运行速度十分快,而且它没有使用任何的替代表。MD5 算法是MD4算法的扩展算法,它略比MD4算法要慢,但是在设计上更为严谨。MD4算法的设计主要是考虑的算法的速度,因此它的安全性也相对的比较脆弱,而MD5算法则更加注重安全性。它汇集了许多专家的意见,并且经过附加的优化。MD5算法已经向公众公开,并且被采纳作为标准使用。
基于开放式系统互联参考模型(Open System Interconnect Reference Model)的设计, MD5的标识为:
MD5 OBJECT IDENTIFIER ::=
iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5}
在X.509算法表示中MD5的参数可以是空值(NULL)
2.2标记与术语
字(word)是由32位构成,字节(byte)是由8位构成。一个位序列(bit sequence)可以很自然的认为成一个由八位构成的字节序列(高位在先),同样,一个字节序列也可以当作一个由32位(低位在先的4字节)构成的字序列。
我们将“x减i”表示为 x_i,如果在一个表达式中,我们将其用括号括起来,就像x_{i+1}。同样,我们用^来表示幂关系,x^i表示x的i次幂。“+”用来表示字之间的加法。X<<<s是表示将X循环左移s位。not(X)是表示对X的补位操作,X v Y表示X和Y的位或操作,X xor Y表示X和Y的异或操作,XY表示X和Y的与操作[7]。
MD5算法的应用
MD5算法的典型应用是对一段信息产生信息摘要(Message-Digest),以防止被篡改。MD5算法将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5码时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用MD5码还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。而本系统就是基于这个应用而设计开发的一个数字版权保护系统。
Web服务体系结构概述
XML Web服务体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。有两种使用Web服务的方法,允许访问内部系统功能,把它们向外部世界展示并且作为一个外部Web服务的客户端或者使用者。在这个模型中,Web服务可用来访问一个应用程序中任一层的应用功能。这样,因特网上的任何分布式系统就有可能被整合到一个用户定制的应用程序中。
通常,一个Web服务被分为五个逻辑层:数据层(Data Layer)、数据访问层(Data Access Layer)、业务层(Business Layer)、业务面(Business Facade)和监听者(Listener)。离客户端最近的是监听者,离客户端最远的是数据层。业务层更进一步被分为两个子层:业务逻辑(Business logic)和业务面(Business facade)。Web服务需要的任何物理数据都被保存在数据层。在数据层之上是数据访问层,数据访问层为业务层提供数据服务。数据访问层把业务逻辑从底层数据存储的改变中分离出来,这样就能保护数据的完整性。业务面提供一个简单接口,直接映射到Web服务提供的过程。
业务面模块被用来提供一个到底层业务对象的可靠的接口,把客户端从底层业务逻辑的变化中分离出来。
业务逻辑层提供业务面使用的服务。所有的业务逻辑都可以通过业务面在一个直接与数据访问层交互的简单Web服务中实现。Web服务客户应用程序与Web服务监听者交互,监听者负责接收带有请求服务的输入消息、解析这些消息,并把这些请求发送给业务面的相应方法。
这种体系结构与Windows DNA定义的n层应用程序体系结构非常相似。Web服务监听者相当于Windows DNA应用程序的表现层。如果服务返回一个响应,那么监听者负责把来自业务面的响应封装到一条消息中,然后把它发回客户端。监听者还处理对Web服务协约和其他Web服务文档的请求。开发者可以添加一个Web服务监听者到表现层中,并且提供到现有业务面的访问权限,这样就能够很容易地把一个Windows DNA应用程序移植到Web服务中。虽然Web浏览器可以继续使用表现层,但是Web服务客户应用程序将与监听者交互。
3.2.3 Web服务堆栈
使用HTTP通信协议,我们可以从因特网上的一个地方向另一个地方发送消息。通过网络发送的消息可以使用XML结构化,XML协议定义这条消息的格式和语义。SOAP(简单对象访问协议)是定义如何从不同环境中的对象调用函数。使用SOAP,就能够整合不同的操作系统、对象模型和编程语言,使简化整合不同种类的业务处理过程成为可能。 copyright think58
HTTP、XML和SOAP可以看作是Web服务的核心层。这些层定义了Web服务之间交互的方法和途径。这三个协议已经被W3C(World Wide Web联盟)接受作为标准。
WSDL协议(Web服务描述语言)描述如何与一个Web服务通讯。在WSDL定义中,允许不同类型的通讯(绑定)。它可以用来开发Web服务,同时也可以用来赚钱。为了实现这个目的,我们需要一个Web服务门户,我们可以在那里发布我们的Web服务,其他的人也能在那里找到它并使用它。这就需要使用UDDI(Universal Description, Discovery and Integration,统一描述、发现和整合规范)。
MD5算法的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由MIT laboratory for computer science和RSA data security inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来[6]。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。MD5信息摘要算法对输入的任意长度的信息进行处理,生成一个128位的“指纹”或者“摘要”。两个不同的信息产生相同的摘要的可能性很小,因此可以说每一个信息都有一个与之对应的信息摘要。MD5算法可以应用于使用RSA这种公钥密码的数字签名技术当中,也就是说在对信息进行私钥加密之前使用MD5算法对信息进行压缩。 [资料来源:http://THINK58.com]
这个算法经过细致的编码,在32位计算机中的运行速度十分快,而且它没有使用任何的替代表。MD5 算法是MD4算法的扩展算法,它略比MD4算法要慢,但是在设计上更为严谨。MD4算法的设计主要是考虑的算法的速度,因此它的安全性也相对的比较脆弱,而MD5算法则更加注重安全性。它汇集了许多专家的意见,并且经过附加的优化。MD5算法已经向公众公开,并且被采纳作为标准使用。
基于开放式系统互联参考模型(Open System Interconnect Reference Model)的设计, MD5的标识为:
MD5 OBJECT IDENTIFIER ::=
iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5}
在X.509算法表示中MD5的参数可以是空值(NULL)
2.2标记与术语
字(word)是由32位构成,字节(byte)是由8位构成。一个位序列(bit sequence)可以很自然的认为成一个由八位构成的字节序列(高位在先),同样,一个字节序列也可以当作一个由32位(低位在先的4字节)构成的字序列。
我们将“x减i”表示为 x_i,如果在一个表达式中,我们将其用括号括起来,就像x_{i+1}。同样,我们用^来表示幂关系,x^i表示x的i次幂。“+”用来表示字之间的加法。X<<<s是表示将X循环左移s位。not(X)是表示对X的补位操作,X v Y表示X和Y的位或操作,X xor Y表示X和Y的异或操作,XY表示X和Y的与操作[7]。
[资料来源:www.THINK58.com]
MD5算法的应用
MD5算法的典型应用是对一段信息产生信息摘要(Message-Digest),以防止被篡改。MD5算法将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5码时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用MD5码还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。而本系统就是基于这个应用而设计开发的一个数字版权保护系统。
Web服务体系结构概述
XML Web服务体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。有两种使用Web服务的方法,允许访问内部系统功能,把它们向外部世界展示并且作为一个外部Web服务的客户端或者使用者。在这个模型中,Web服务可用来访问一个应用程序中任一层的应用功能。这样,因特网上的任何分布式系统就有可能被整合到一个用户定制的应用程序中。
通常,一个Web服务被分为五个逻辑层:数据层(Data Layer)、数据访问层(Data Access Layer)、业务层(Business Layer)、业务面(Business Facade)和监听者(Listener)。离客户端最近的是监听者,离客户端最远的是数据层。业务层更进一步被分为两个子层:业务逻辑(Business logic)和业务面(Business facade)。Web服务需要的任何物理数据都被保存在数据层。在数据层之上是数据访问层,数据访问层为业务层提供数据服务。数据访问层把业务逻辑从底层数据存储的改变中分离出来,这样就能保护数据的完整性。业务面提供一个简单接口,直接映射到Web服务提供的过程。
[版权所有:http://think58.com]
业务面模块被用来提供一个到底层业务对象的可靠的接口,把客户端从底层业务逻辑的变化中分离出来。
业务逻辑层提供业务面使用的服务。所有的业务逻辑都可以通过业务面在一个直接与数据访问层交互的简单Web服务中实现。Web服务客户应用程序与Web服务监听者交互,监听者负责接收带有请求服务的输入消息、解析这些消息,并把这些请求发送给业务面的相应方法。
这种体系结构与Windows DNA定义的n层应用程序体系结构非常相似。Web服务监听者相当于Windows DNA应用程序的表现层。如果服务返回一个响应,那么监听者负责把来自业务面的响应封装到一条消息中,然后把它发回客户端。监听者还处理对Web服务协约和其他Web服务文档的请求。开发者可以添加一个Web服务监听者到表现层中,并且提供到现有业务面的访问权限,这样就能够很容易地把一个Windows DNA应用程序移植到Web服务中。虽然Web浏览器可以继续使用表现层,但是Web服务客户应用程序将与监听者交互。
3.2.3 Web服务堆栈
使用HTTP通信协议,我们可以从因特网上的一个地方向另一个地方发送消息。通过网络发送的消息可以使用XML结构化,XML协议定义这条消息的格式和语义。SOAP(简单对象访问协议)是定义如何从不同环境中的对象调用函数。使用SOAP,就能够整合不同的操作系统、对象模型和编程语言,使简化整合不同种类的业务处理过程成为可能。 copyright think58
[资料来源:THINK58.com]
HTTP、XML和SOAP可以看作是Web服务的核心层。这些层定义了Web服务之间交互的方法和途径。这三个协议已经被W3C(World Wide Web联盟)接受作为标准。
WSDL协议(Web服务描述语言)描述如何与一个Web服务通讯。在WSDL定义中,允许不同类型的通讯(绑定)。它可以用来开发Web服务,同时也可以用来赚钱。为了实现这个目的,我们需要一个Web服务门户,我们可以在那里发布我们的Web服务,其他的人也能在那里找到它并使用它。这就需要使用UDDI(Universal Description, Discovery and Integration,统一描述、发现和整合规范)。