Mark A Matte
markamatte at hotmail.com
Wed Dec 20 11:52:21 CST 2006
Just found it with google...so here is the code.
Public Function KeyCode(Password As String) As Long
'This function will produce a unique key for the
'string that is passed as the Password.
Dim I As Integer
Dim Hold As Long
For I = 1 To Len(Password)
Select Case (Asc(Left(Password, 1)) * I) Mod 4
Case Is = 0
Hold = Hold + (Asc(Mid(Password, I, 1)) * I)
Case Is = 1
Hold = Hold - (Asc(Mid(Password, I, 1)) * I)
Case Is = 2
Hold = Hold + (Asc(Mid(Password, I, 1)) * _
(I - Asc(Mid(Password, I, 1))))
Case Is = 3
Hold = Hold - (Asc(Mid(Password, I, 1)) * _
(I + Len(Password)))
End Select
Next I
KeyCode = Hold
End Function
>From: Drew Wutka <DWUTKA at marlow.com>
>Reply-To: Access Developers discussion and problem
>solving<accessd at databaseadvisors.com>
>To: Access Developers discussion and problem
>solving<accessd at databaseadvisors.com>
>Subject: Re: [AccessD] Password Generator?
>Date: Wed, 20 Dec 2006 11:36:45 -0600
>
>Even though Access User Level security is breakable, it's a better approach
>to securing items then the method you've run into. No need to prompt the
>user at each form, the form just checks who's logged into the database.
>
>In a domain network, you could also just embed code to check the user's NT
>name.
>
>Drew
>
>-----Original Message-----
>From: Mark A Matte [mailto:markamatte at hotmail.com]
>Sent: Wednesday, December 20, 2006 11:26 AM
>To: accessd at databaseadvisors.com
>Subject: [AccessD] Password Generator?
>
>Hello All,
>
>I was asked to look at an A97 db. At first glance it was apparently
>created
>
>by the addressBook wizard. When I found they paid 2 or 3 grand for it about
>6 years ago...kinda made me ill...but anyway. The I noticed some of the
>forms required a password. I looked at the tables...and sure enough there
>was tblPassword that had the input mask set to 'Password'...so I switched
>it...and there were the passwords...so I thought...they were all numbers.
>I
>
>tried the numbers when opening the forms...but no luck.
>
>Here is another confusing part...the db opens to Switchboard with the db
>window minimized...nothing is locked down...its wide open...why a password?
>
>Anyway...I went to design view...and what I found...really amazed me.
>There
>
>are about 16 lines of code that takes whatever you type in...does some
>Asc()
>
>some MOD some -+/* and loops through all of these calculations to come up
>with a number. I then realized that the numbers in the password table
>actually matched to a word/phrase/number and case sensitive.
>
>Since there is a single number that was the result of a list of
>calculations...I can't think of anyway to figure out what phrase would
>match
>
>the existing numbers. But I can put a phrase in...step through the
>code...see the resulting number...then go put it in the table.
>
>Has anyone seen/done something like this?
>
>Even thought this was 'purchased'(consultant came in and built...still
>makes
>
>me ill)....there is no documentation...or information related to who wrote
>this code...It should be ok to post here?
>
>Just curious what approaches others use for security. In and .MDE this
>would be brilliant in my opinion.
>
>Thanks,
>
>Mark A. Matte
>
>_________________________________________________________________
>Experience the magic of the holidays. Talk to Santa on Messenger.
>http://clk.atdmt.com/MSN/go/msnnkwme0080000001msn/direct/01/?href=http://ima
>gine-windowslive.com/minisites/santabot/default.aspx?locale=en-us
>
>--
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com
>--
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com
_________________________________________________________________
Experience the magic of the holidays. Talk to Santa on Messenger.
http://clk.atdmt.com/MSN/go/msnnkwme0080000001msn/direct/01/?href=http://imagine-windowslive.com/minisites/santabot/default.aspx?locale=en-us