0

現在、特にログイン用のユーザー名とパスワードを保存するMySQLデータベースがあります。ユーザーのパスワードと名前を要求し、それをMySQLのユーザー名とパスワードと比較し、一致すると別のMS Accessフォームを開く、作成したログイン画面を備えたMS Access 2010フロントエンドがあります。パスワードを MySQL データベースのハッシュ sha1 に保存したいのですが、ユーザーが MS Access フォームに入力したパスワードを取得し、それをハッシュ sha1 に変換して vbscript を作成する方法がわかりません。その特定のユーザーの MySQL データベースに既にあるものと比較してください。ハッシュを使用していなかったときに使用した vbscript を含めました。どんな援助でも大歓迎です。

'compares username and password to a query and will either open another form OR display an incorrect password message.
Dim dbs As Database
Dim rstUserPwd As Recordset
Dim bFoundMatch As Boolean

Set dbs = CurrentDb

'query that has all the usernames and password
Set rstUserPwd = dbs.OpenRecordset("qryUserPwd")

bFoundMatch = False

If rstUserPwd.RecordCount > 0 Then
rstUserPwd.MoveFirst

'name of the access form is called 'Login'    
Do While rstUserPwd.EOF = False
If rstUserPwd![UserName] = Form_Login.txtusername.Value And rstUserPwd![Password] = Form_Login.txtpassword.Value Then
bFoundMatch = True
        Exit Do
End If
    rstUserPwd.MoveNext
Loop

End If
'open admin form
If bFoundMatch = True
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "admin"
Else
MsgBox "Incorrect User Name or Password"
End If
4

1 に答える 1

0

Mysql には独自の sha1 関数 (およびその他の暗号化) があるため、"SELECT パーミッション FROM 顧客 WHERE sha1(key) = sha1('"&entered_key&"')" のようなことができますhttp://dev.mysql.com/docを参照してください/refman/5.5/en/encryption-functions.html#function_sha1 したがって、vba 自体には sha アルゴリズムは必要ありません。

本当に必要な場合は、vba/vbscript sha アルゴリズムを使用できます。たとえば、このようなhttp://bytes.com/topic/access/insights/906938-sha2-cryptographic-hash-algorithm -vba-vbscript

于 2012-08-28T18:30:49.063 に答える