网上银行公共业务层.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文档。上传文档
查看更多
网上银行公共业务层

网上银行公共业务层   摘 要 文章编码实现采用面向对象的方法,公共业务层是由一组公共的功能类组成的,每一个功能类完成一组特定功能的封装实现。这些功能类将会被应用到上层的多个应用程序中,也能够应用在日后其他应用程序的开发。按照功能划分,这些公共类可以分组为:加密解密处理、注册表操作、文件格式处理。文章分别对这三组公共类的实现进行详细介绍。   关键词 加密解密;注册表;文件格式   中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)19-0078-01   1 加密解密处理   加密解密处理主要是对微软的Crypto API进行封装,以面向对象的方式,将实现相关底层函数封装为C++类的形式,对上层应用程序提供简单的调用接口,将CryptoAPI调用等复杂的实现细节封装在类的实现内部。加密解密处理主要通过类CUtilCrypto来实现,下面对CutilCrypto的主要函数和属性进行详细介绍。   1.1 InitKey   通过口令初始化加密密钥。密钥的生成算法,函数是加密/解密流程首先需要调用的函数,成功产生密钥以后,才能进行后续的加密和解密操作。函数执行成功后,会将生成的密钥对象保存在类的私有成员中。   1.2 EncryptString   加密一个字符串。该函数的输入输出均为可见字符串,通过加密密钥,采用高强度对称算法对数据进行加密。加密后的数据是二进制的密文数据,通过Base64编码以后,转换成可见字符串,然后输出。EncryptString和DecryptString是一组对应的函数,主要用于处理简单的字符串加密。本文功能实现中,主要用来实现用户默认口令在注册表中保存时的加密处理,保障用户保存的默认口令不会被他人通过注册表获得。   1.3 DecryptString   解密一个字符串。同EncryptString函数对应,本函数的输入,即为EncryptString函数输出的Base64编码的密文数据。函数在进行解密处理前,首先对输入数据进行Base64解密,获得原始的密文数据,然后调用相应的解密函数对数据进行解密处理。   1.4 EncryptData   加密一段数据。与EncryptString函数不同,EncryptData处理的输入数据为二进制格式的数据,加密后的输出数据也是二进制格式的原始密文数据。函数参数明确指定了输入数据的大小。由于对称加的密文数据和原始数据大小相近(相差不到一个块的大小),从运算效率角度考虑,加密数据的输出复用了输入参数。即函数成功执行后,输入的加密数据的内容,即变为加密后的密文数据。同样,加密后的密文数据长度也通过输入的明文数据长度的参数进行返回。   对称加密对数据是按固定大小的块进行处理的,加密处理可以按多次分组进行处理,通过另一个参数指定本次调用是否为最后一组数据。在中间处理时,本次处理的数据如果不是块大小的整数倍,会将剩余的数据留到下一次调用时进行处理;对于末次调用,如果数据大小不满足加密块大小的整数倍,会对数据进行补位对齐处理,解密过程中会按照补位对齐规则去掉补位数据。   1.5 DecryptData   解密一段数据。与EncryptData函数相关,是EncryptData的逆操作。输入数据为原始的加密数据明文,输出数据同样也复用了输入数据的参数。与EncryptData类似解密过程同样也可以分多次调用完成,通过另一个参数指明是否为最后一组数据。末组数据的解密处理,会执行去除补位的操作。   2 注册表操作   注册表操作相关的公共代码,主要实现对注册表操作的封装。这里涉及到的主要的类是CUtilReg类。CutilReg中,定义了统一的注册表路径、键值名称、默认数据等,将实现注册表读取和写入操作封装为具体的功能函数,统一实现注册表的访问操作。上层应用在调用CutilReg以后,将对注册表操作透明,只是按照普通的获取数据或者设置数据的方式来进行调用即可。CutilReg类中包含的主要函数有。   2.1 RegDownLoadUI   修改IE下的注册键值,替换默认的下载管理器界面。此函数操作的是IE的注册键值,相当于修改IE的系统参数配置。通过该函数的调用,将BHO对象注册为IE的下载界面,当IE中发生文件下载请求是,会调用BHO对象的相关处理界面。   2.2 LoadEncryptMode   加载默认的加载模式。加密模式指的是针对加密文件下载,采用明文方式保存还是加密方式保存,以及文件的口令等。函数调用成功,表示用户使用了默认设置。函数调用失败,表示用户未使用默认设置,即每次下载都会进行选择提示。   2.3 SetEncryptMode   设置默认加密模式。将指定的加密模式设置为默认配置。这样,在调用LoadEnc

文档评论(0)

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

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

1亿VIP精品文档

相关文档