首页 > 范文大全 > 正文

网上银行的公共业务层

开篇:润墨网以专业的文秘视角,为您筛选了一篇网上银行的公共业务层范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 文章编码实现采用面向对象的方法,公共业务层是由一组公共的功能类组成的,每一个功能类完成一组特定功能的封装实现。这些功能类将会被应用到上层的多个应用程序中,也能够应用在日后其他应用程序的开发。按照功能划分,这些公共类可以分组为:加密解密处理、注册表操作、文件格式处理。文章分别对这三组公共类的实现进行详细介绍。

关键词 加密解密;注册表;文件格式

中图分类号: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

设置默认加密模式。将指定的加密模式设置为默认配置。这样,在调用LoadEncryptMode时就会成功返回用户设置的默认加密模式。

2.4 UnsetEncryptMode

取消默认加密模式设置。成功调用该函数,将清除注册表中的默认加密模式设置。下次调用LoadEncryptMode时就会返回失败。

2.5 LoadUrlFilter

获得URL过滤规则。如果注册表中没有对应的键值,将会返回程序默认的过滤规则。可以通过在注册表中增加相应的键值,来改变默认的URL过滤规则。

2.6 LoadFileExt

获得文件扩展名过滤规则。如果注册表中没有对应的键值,将会返回程序默认的过滤规则。可以通过在注册表中增加相应的键值,来改变默认的扩展名过滤规则。

3 文件格式处理

文件格式处理主要是对加密文件格式的文件格式的编解码实现。文件格式处理主要有一组相关的功能类实现,按照实现层次划分为两类:文件内容的组织和文件格式的解析。

参考文献

[1]桑庆兵,吴小俊.基于BHO的网站过滤系统研究与实现[J].计算机工程与应用,2009(31).

[2]李华伟.BHO技术的应用与开发案例[J].科技信息(学术研究),2008(32).

[3]戎晓霞,王金栋,吴胜远.基于BHO和协同技术的多级文语IE的实现[J].计算机工程,2004(02).

[4]范志先,孙殿柱,李延瑞,孙肖霞.采用MFC开发用户交互界面的新方法[J].程图学学报,2008(04).

作者简介

付欣(1980-),汉族,讲师,硕士,研究方向:计算机相关专业。