在VB下Access数据库密码的安全设置(2)

1970-01-01 08:00


        Function GetString(hKey As Long, strPath As String, strValue As String)
        Dim Ret
        RegOpenKey hKey, strPath, Ret
        GetString = RegQueryStringValue(Ret, strValue)
        RegCloseKey Ret
        End Function
        Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String
        Dim strString As String
        RegQueryValueEx hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize
        strBuf = String(lDataBufSize, Chr$(0))
        RegQueryValueEx hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize
        RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
        Exit Function
        2.2 在VB中对密码进行加密和解密 当然,为了保证密码的安全,除了考虑密码的存放方式外,另一方面就是对密码本身加密,得到一个加密的密码,将密码加密后存放起来就更安全了。对密码加密实际是将作为密码的字符从一种表现形式变为另一种表现形式的过程。其中一种方法是设置一个被称为“密钥”的字符或字符串,通过使用密钥对密码进行操作,将明码变成密码。在解密时再使用密钥对密码进行逆操作,密码就还原了。程序使用当前输入的密码作为密钥对输入的密码作加密操作,将加密后的密码存入文本文件PassWord.txt。程序中使用Ciphe过程和NumericPassword函数对密码进行加密操作,其中Cipher密钥。当然,密码加密后在使用时就要对它进行解密,它们的主要程序如下:
        Private Function NumericPassword(ByVal Password As String) As Long
        Dim Value As Long,Ch As Long, Shift1 As Long,Shift2 As Long
        Dim I As Integer, Str_len As Integer
        Str_len = Len(Password)
        For I = 1 To Str_len
        Ch = Asc(Mid$(Password, I, 1))
        Value = Value Xor (Ch * 2 ^ Shift1)
        Value = Value Xor (Ch * 2 ^ Shift2)
        Shift1 = (Shift1 + 7) Mod 19
        Shift2 = (Shift2 + 13) Mod 23
        Next I
        NumericPassword = Value
        End Function
        3 结束语
        通过对Access数据库密码安全隐患进行分析,对密码的保存方式和密码本身的加密,防止数据库被下载和密码破解起到了一定的作用,道高一尺,魔高一丈,尽管人们想到种种办法来维护数据库安全,但是也总是不断发现漏洞。所以,为确保数据库的的安全,数据定期备份与恢复是必不可少的。

在VB下Access数据库密码的安全设置(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:专题学习网站的建设与应用实践研究(三)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: