加密的XML

2016-02-19 14:50 20 1 收藏

下面这个加密的XML教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - Web开发 】

 在加密的XML (EXML) 例子中,我只了一个简单的contacts.xml 文件。在这个例子中大多数的关联 文件都很简单,在下表中做一个简要介绍。我将集中介绍2个ASP函数,他们用来访问EXML 函数。 它们是OpenEXML()和 SaveEXML(), 存储在lib_exml.asp 包含文件中(如果是在产品商业环境中使用的话,应该被放在一个COM组件中)。 文件名描述Addcontact.asp这个文件用来向 EXML文件中增加新的联系。Contacts.xml这个文档用来存储联系数据,作为一个加密的文件存储在硬盘驱动器上。 Contacts.xsl这个stylesheet被listcontacts.asp用来显示contacts.xml的内容。Default.asp是一个简单的HTML文件,有到addcontact.asp和listcontacts.asp的链接。Lib_exml.asp一个ASP包含文件,包含用来存取加密XML文档的两个函数,被addcontact.asp 和listcontacts.asp所包含。Listcontacts.asp一个简单的 ASP页面,用来显示contacts.xml的内容。

   Addcontact.asp和listcontact.asp中都包括相当数量的与XML相关的代码,用来存取和读contacts.xml文档。

   Lib_exml.asp包含这个应用程序使用的两个关键函数,它们是OpenEXML()和 SaveEXML()。这里列出它们的详细内容。

  

   首先声明函数,用dim声明变量,并例示我们需要的对象:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)
'Returns strResult as String, "" if successful'Returns xmldom object in xmldom parameter'Takes filepath as a relative path to the encrypted XML file'Takes password as the password to use to decrypt the EXML fileFunction OpenEXML(xmldom, filepath, password)   Dim CM   Dim Context   Dim key   Dim objXML   Dim objFSO   Dim clearfile   Dim strResult   'Instantiate Objects   Set CM = Server.CreateObject("Persits.CryptoManager")   Set Context = CM.OpenContext("mycontainer", True)   Set objXML = Server.CreateObject("Microsoft.XMLDOM")   Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

   然后,我们将提供的文件名解密到一个临时文件中,这个文件在最后将要删除。注意由于系统上有这个明码文件,即使很简短,我们的系统安全也有了一个漏洞。在样本应用程序中的这些函数的目的是概念上的一个安全保证,但并不是一个完全的安全文件管理应用程序。

  strResult = ""   clearfile = Server.MapPath(filepath & ".clear")   'Get cryptographic key   Set key = Context.GenerateKeyFromPassword(password, calgSHA, calgRC4, 40)key.DecryptFile Server.MapPath(filepath), clearfile

   现在我们正在使用40位的密码系统,如果你的机器上安装了适当的API,那么你可以使用更强大的密码系统。简单地说,如果你有IE的128位安全升级,你就可以通过AspEncrypt使用128位的密码 系统。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

   存储了加密文件后,我们用标准XMLDOM 代码打开它,处理差错然后删除解密的文件:

  'Processor should validate this document   objXML.validateOnParse=True   objXML.async = false   'Load the decrypted file into an XML Document   objXML.load clearfile   If Err.Number  0 Then  strResult = strResult & "Error loading " & clearfile _& " into XML object.BR"  strResult = strResult & Err.Number & ": " & Err.Description & "BR"  Exit Function   End If   'Delete the decrypted file   objFSO.DeleteFile clearfile, True   If Err.Number  0 Then  strResult = strResult & "Cannot delete file '" & clearfile _& "'" & "BR"  strResult = strResult & Err.Number & ": " & Err.Description & "BR"  Exit Function   End If

   最后,我们清除对象,结束函数。XML文档在xmldom 参数中被返回调用它的程序。如果有错误,就作为函数的返回字符串报告,如果操作成功的话这个字符串是个空字符串。

  'Clean up objects   Set CM = Nothing   Set Context = Nothing   Set Key = Nothing   Set objFSO = Nothing   If Err  0 Then  strResult = strResult & Err.Number & ": " & Err.Description & "BR"   End If   Set xmldom = objXML   OpenEXML = strResultEnd Function

来源:http://www.tulaoshi.com/n/20160219/1608081.html

延伸阅读
标签: Web开发
XML 的使用越来越广泛,但是很多 XML 的结构并不好。即便结构良好,也常常设计得很糟,使得处理和维护非常困难。而大部分用于 XML 的基础结构使问题更加恶化。于是出现了关于 XML 最佳实践的公开讨论,比如 Henri Sivonen 的文章“HOWTO Avoid Being Called a Bozo When Producing XML”。Uche Ogbuji 经常在 IBM developerWorks 上讨论 XML 最...
在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。解析数据 XML 解析器通常情况下会处理XML文档中的所有文本。 当XML元素被解析的时候,XML元素内部的文本也会被解析: This text is also parsed XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了first和last两...
标签: PHP
提纲: 导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解。由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了。而国内又缺乏权威的机构或组织来对这些...
标签: 电脑入门
A、加密文件: 1、在您想要加密的文件上单击鼠标右键,您可以一次选择多个文件; 2、在出现的功能表中选择QKEY加密; 3、在的对话框中输入新账号和密码,确定; 4、不论被加密文件格式如何,加密后文件显示为锁的符号,后缀名变成.QKY B、解密文件: 1、在想解密的文件上单击右键; 2、在出现的功能表中选择QKEY解密; 3、输入账号与密码。 ...
标签: Web开发
暂时忘记前面的术士,让我们再一次回到XML构造的数据世界,以前我总是爱讲"详细内容请看后面章节",这次没办法拖了,只好开始讲述"后面章节"的内容,今天所要讲述的是Data Islands(直译就行了,数据岛). 我们用数据岛可以做什么呢?,我们可以利用数据岛将我们的XML嵌入到HTML叶面中,至于怎么做,就看我接下来的演示好了. 我们可以...

经验教程

775

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部