基于udf的firebird数据库的加密实现

基于udf的firebird数据库的加密实现

ID:10978812

大小:236.59 KB

页数:4页

时间:2018-07-09

基于udf的firebird数据库的加密实现_第1页
基于udf的firebird数据库的加密实现_第2页
基于udf的firebird数据库的加密实现_第3页
基于udf的firebird数据库的加密实现_第4页
资源描述:

《基于udf的firebird数据库的加密实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、信息技术研究基于UDF的Firebird数据库的加密实现师洪(玉溪师范学院信息工程技术学院,云南玉溪653100)[关键词]Firebird;数据库加密;UDF;触发器[摘要]在Firebird数据库中,利用UDF函数库可以在数据库端实现数据加密存储,该加密方案控制灵活,性能高效,安全保密性高,对开发人员透明.经实际使用测试,该方案完全可以满足应用系统中数据加密的需要.[作者简介]师[中图分类号]洪,讲师,主要从事计算机软件及数据库技术研究和应用.TP311.21[文献标识码]A[文章编号]1009-9506(2009)08-0056-04对数据库中的数据进行加密,主要有三个层次:

2、OS系统层加密、客户层加密、服务器端加密.OS系统层通常无法识别数据库中的数据关系,从而无法产生合理的密钥,因此很难实现对大型数据库的加密管理;客户层加密虽然不增加数据库服务器的负载,但是加密功能会受到一些限制,而且与数据库管理系统之间的耦合性较差;而服务器端加密实现,其功能较强,又几乎不会影响数据库管理系统功能,并且可以实现加密过程与数据库系统之间的无缝衔接.采用服务器端加密通常需要对数据库管理系统本身进行操作,一般情况下,如果没有数据库开发商的技术支持,其实现难度相对较大,而Firebird数据库系统由于其提供了可定制的用户定义函数UDF,因此通过定制UDF就可以在数据库服务端

3、实现数据加密操作.1数据加密实现本文基于UDF来实现Firebird数据库数据的加密,实验系统环境及开发平台为:(1)WindowsXP操作系统;(2)Firebird数据库服务器1.5.5;(3)Delphi7.0开发平台.其过程为:首先开发基于某种加密算法的UDF函数库,然后在Firebird数据库中进行函数的使用声明,并对数据库进行编程开发配置,保证数据记录添加修改时能够自动加密或人工加密.1.1开发加密UDFWindows平台下开发用户定义函数库是非常方便的,可以用C、VC或者Delphi等开发语言来完成.本文采用Delphi7.0来实现加密函数库的开发.(1)新建一个li

4、brary工程,并在单元文件里接口声明部分声明加密解密函数:interfaceconstXorKey:array[0..7]ofByte=($B7,$A9,$AC,$59,$93,$6D,$84,$47);functionEncryptStr(Str:String):String;vari,j:Integer;beginResult:=’;j:=0;fori:=1toLength(Str)dobeginResult:=Result+IntToHex(Byte(Str[i])j:=(j+1)mod8;end;end;functionDecryptStr(Str:String):Str

5、ing;vari,j:Integer;beginResult:=’;j:=0;fori:=1toLength(Str)div2dobeginxorXorKey[j],2);Result:=Result+Char(StrToInt(’$’+Copy(Str,i32-1,2))j:=(j+1)mod8;end;end;functionf_encrypt(str:Pchar):Pchar;beginResult:=Pchar(EncryptStr(str));end;functionf_decrypt(str:Pchar):Pchar;beginResult:=Pchar(Decrypt

6、Str(str));End;xorXorKey[j]);加密解密算法可以根据需要采用各种标准的高强度加解密函数来实现,如DES,AES,RSA,MD5等,也可自定义加解密算法函数来实现.(3)在加密解密函数实现之后,还需library工程文件中进行函数的导出:exportsf_encrypt,f_decrypt;最后即可编译生成动态链接库udf_encrypt.dll,该动态连接库就是用于实现加密解密过程的FirebirdUDF函数库.1.2在数据库中声明UDF要在数据库中使用UDF函数库内的加解密函数,必须在数据库中进行函数的声明.以下是上面编写的加解密函数的一种声明形式:DEC

7、LAREEXTERNALFUNCTIONF_ENCRYPTCSTRING(50)RETURNSCSTRING(50)FREE_ITENTRY_POINT’f_encrypt’MODULE_NAME’udf_encrypt.dll’;DECLAREEXTERNALFUNCTIONF_DECRYPTCSTRING(50)RETURNSCSTRING(50)FREE_ITENTRY_POINT’f_decrypt’MODULE_NAME’udf_encrypt.dll’;函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。