如何實(shí)現(xiàn)VB程序登錄密碼加密

字號:

考試大編輯整理;現(xiàn)在有些軟件都設(shè)置密碼登錄,啟動軟件時(shí)要求使用者輸入有效的密碼。其實(shí)密碼就是對明文文本進(jìn)行一一對應(yīng)的變換,使這變成不可識別的密碼文本,讓非法使用者不能識別。
    本程序是通過,輸入登錄密碼,然后把用戶密碼加密保存到文本里。
    首先,建立一個標(biāo)準(zhǔn)EXE工程,在窗體上放置一個TextBox控件,名稱為txtPassword,PasswordChar屬性為"*"。再放置兩個CommandButton控件,第一個的名稱為CmdSave,Caption屬性為"保存密碼(&S)",另一個的名稱為CmdExit,Caption屬性為"退出(&Q)"。
    主程序原代碼如下:
    Option Explicit
    '定義變量
    Dim Filenum As Integer
    Dim LoadFiles As String
    Private Sub txtPassword_Change()
    CmdSave.Enabled = True
    End Sub
    Private Sub CmdSave_Click() '保存密碼
    '當(dāng)密碼輸入為空時(shí),則提示信息。
    If txtPassword.Text = Empty Then
    MsgBox "請你輸入要更改的密碼!", VBExclamation, Me.Caption
    Exit Sub
    End If
    '將你輸入的密碼加密到 Cipher_Text 的變量里
    Dim Cipher_Text As String
    SubCipher txtPassword.Text, txtPassword.Text, Cipher_Text
    '保存到文件并加密
    Filenum = FreeFile
    Open LoadFiles For Random As Filenum
    '把 Cipher_Text 的變量寫入文件里
    Put #Filenum, 1, Cipher_Text
    Close Filenum
    CmdSave.Enabled = False
    End Sub
    Private Sub Form_Load()
    On Error Resume Next
    '密碼信息文件的路徑
    LoadFiles = App.Path & IIf(Len(App.Path) > 3, "\key.dat", "key.dat")
    Dim FilesTest As Boolean
    '檢驗(yàn) key.dat 文件是否存在
    If Dir(LoadFiles, vbHidden) = Empty Then
    FilesTest = False
    Else
    FilesTest = True
    End If
    Filenum = FreeFile '提供一個尚未使用的文件號
    '讀取密碼文件,把文件的信息賦值給 StrTarget 變量
    Dim StrTarget As String
    Open LoadFiles For Random As Filenum
    Get #Filenum, 1, StrTarget
    Close Filenum