本人在操作数据库时,考虑到该数据库还有可能被其他软件打开,所以想能否有另外一种方式把数据库中数据进行加密呢,也
就是说,即使别人利用其他的软件打开了该数据库,看到的也是一片乱码,根本不知道数据库进而是什么内容。出于这种情况,本人利用VB中自带
RND()函数的功能编写了如下加密解密方法。
当RND()的参数(我们称它为种子)为负值时,同一种子产生同一个随机序列,同时VB还具有强大的二进制技术功能。
这样我们可以按以下方法实现字符串内容的加密解密。
源程序如下:
PublicFunctionStringEnDeCodecn(strSourceAsString,MA)AsString
该函数只对中西文起到加密作用
参数为:源文件,密码
OnErrorGoToErrEnDeCode
DimXAsSingle
DimCHARNUMAsLong,RANDOMINTEGERAsInteger
DimSINGLECHARAsString*1
DimstrTmpAsString
IfMA<0Then
MA=MA*(-1)
EndIf
X=Rnd(-MA)
Fori=1ToLen(strSource)Step1取单字节内容
SINGLECHAR=Mid(strSource,i,1)
CHARNUM=Asc(SINGLECHAR)
g:RANDOMINTEGER=Int(127*Rnd)
IfRANDOMINTEGER<30OrRANDOMINTEGER>100ThenGoTog
CHARNUM=CHARNUMXorRANDOMINTEGER
strTmp=strTmp&Chr(CHARNUM)
Nexti
StringEnDeCodecn=strTmp
ExitFunction
ErrEnDeCode:
StringEnDeCodecn=””
MsgBoxErr.Number&”\”&Err.Description
EndFunction
使用方法:
tmp=stringEnDecn(“中华人民共和国”,75)
如果要解密的话,只须键入以下语句:
tmp1=stringendecn(tmp,75)
如有不妥之处,请与我联系:
Flea_cyp@163.com->