网银文件格式处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网银文件格式处理.doc

网银文件格式处理   摘要:文件格式处理主要是对文件格式的编解码实现。文件格式处理主要有一组相关的功能类实现,按照实现层次划分为两类:文件内容的组织和文件格式的解析。   关键词:格式 解码 处理   ▲▲一、文件格式的解析   加密文件格式通过自定义的一套标签语法来描述,不同的标签类型表示不同的数据类型,标签之间支持复合和嵌套。针对这些不同的标签类型,分别定义丢应的处理类,这些处理类之间保持这标签之间本身的逻辑关系。   1.CTag类   抽象的标签类型,定义标签类的公共属性和方法,所有的标签类都由CTag类派生。主要的方法和属性包括:   GetData:获得标签中包含的数据缓冲区指针。   GetDataLen:获得标签中包含的数据长度。   派生方法中,通过对CTag提供的静态方法的循环调用,实现文件格式的解析。通过对Parse方法实现各自特定数据的分析和处理。   2.CBinTag类   二进制数据标签类,处理二进制类型的数据。在加密文件格式中,属于CBinTag处理的标签数据类型包括:   0x40,加密数据:字节流   0x41,MAC数据   0x54,初始向量,二进制字节流   CBinTag类集成CTag的所有方法,没有自己的特定数据处理。   3.CStrTag类   字符串数据标签类,处理字符串类型的数据。在加密文件格式中,属于CStrTag处理的标签数据类型包括:   0xE0,文件名,变长,内容为UTF-8编码   CStrTag类实现的主要方法有:   Parse:解析字符串标签数据,将数据的UTF-8编码转换为多字节编码。将转码后的字符串数据赋值给内部的字符串成员变量。   GetValue:获得字符串数据值。   4.CIntTag类和CInt64Tag类   这两个类都是证书数据标签类,处理整类型的数据。CIntTag处理的数据长度最大为32位,CInt64Tag处理的数据长度最大为64位。在加密文件格式中,属于这两个类处理的标签数据类型包括:   0x58,Mac算法,编码见附录   0x50,密钥bit长度,如果明确可忽略   0x51,算法,编码见附录   0x52,对称加密模式,编码见附录   0x53,填充模式,编码见附录1   0xE3,文件时间,用/1/1 00:00:00 GMT以来秒数表示,整数类型   除0xE3使用的是CInt64Tag外,其他的标签类型都用CIntTag类进行处理。   这两个类实现的主要方法有:   GetValue:获得整数数据值。   5.CComplexTag类   组合标签类型,或者称为容器标签类型。该标签中并不包含实际的数据内容,而是由多个子标签构成。在加密文件格式中,属于CComplexTag处理的标签数据类型包括:   0x01, 组合段:内容不限的组合结构   0x02, 说明段:对加密文件或数据的附加描述的组合段   0x03, 对称加密段:包含加密算法、初始向量等参数和加密数据、MAC验证数据的组合段   0x04, 数字签名段:组合段,目前未使用   0x05, 非对称加密段:组合段,目前未使用   CComplexTag类实现的主要方法有:   Parse:解析子标签对象,将解析后子标签对象们放入内部的标签对象数组成员变量。   GetChildByType:通过标签类型,获得子标签对象。如果该类型的子标签不存在,返回空值。   ▲▲二、文件内容的组织   文件的标签语法定义了组织文件结构的一种可扩展规范,通过这个规范可以定义任何结构的文档内容。加密文件的具体内容,是按照文件格式的规范来描述和组织的。换句话说,文件的标签语法定义了一种描述方法,而针对加密文件的具体业务需求,又定义了一个具体的文件模版。在定义了加密文件由那些标签组成,标签的层次结构,顺序关系等,这就是一个具体的文件模版。针对加密文件的格式解析,由CSefFile类来实现。该类负责解析文件的内容,按照标签语法将文件解析为各种类型的标签,再根据加密文件的内容组织结构,将各个标签项映射到各个文件属性中,获得完整的加密文件对象。   ▲▲三、CSefFile的主要方法和属性   1.公有函数   OpenFile:打开一个加密文件。打开文件过程会对加密文件进行解析和验证,并通过输入的口令,对加密文件进行解密处理。   CloseFile:关闭文件,释放内存空间。   IsOpen:判断文件是否已经打开。   GetHead:获得文件头信息。   GetVersion:获得文件版本信息。   2.解析相关私有函数   ParseData:解析加密文件内容。

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档