• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 161
  • Last Modified:

password protect an msaccess database

wow...just tried some pasword recovering tools for access and got depressed.
They unlock database like a piece of cake...
So tell me,is there a way to protect the database?
I tried encrypting it but still no good...
what do you think??
  • 4
  • 2
1 Solution
1. What kind of protection?
2. From who are you protecting the database?
3. Do you need to protect the entire database or just certain tables?

Generally, you can't provide 100% protection of a file that resides on a user's hard drive.  You can make it difficult, though.  
senadAuthor Commented:
Entire database.
Whatever protection as long as it is not that easily opened.
It is a little stupid if you ship database with your app where you took
care that only authorised user uses/alters it then someone opens it up
just like that using the Access password.
These comments are meant to supply a variety of security implementations across a range of protections.

* rename your database so that its filetype is something other than ".MDB" or ".MDE".  If the user sees the file in the explorer window without an associated program to open it, they will have to choose a program.

* Encrypt the .MDB file as part of program termination activities.  When the program starts, the file will be decrypted.

* Store the .MDB file in a compressed, password protected file when your program isn't active.

* Place some hashing codes in another file or the registry.  If the database changes between program executions, the hashes won't match and you will be able to take action (issue warnings) if a user has changed the database.

* Use some other database format that provides more/better security mechanisms.

* Store the table data in encrypted format.

* Require the application run on an NTFS partition and store the database in a special directory not readily available to the user.

* Store the database on a secure USB dongle that is sold to licensed users.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Try to pack the mdb file with password, and upon program startup place the code to unpack it. Preferably you shoul unpack it in the memory not on harddrive but considering the sizes it can grow you should not consider this solution.
You shoul place the unpacked (temporary) mdb with no extension (or different from mdb - as specified by aikimark) and place it in one of Windows's system folders with a name that you could invent , or make it look like some system file.
Upon CloseQuery you should close database, repack the mdb (after changing the file name ) back to your password protected archive and there you are.
   About perfect protection... there is none. You can only make it harder for someone to brake your protections, that's all.
* prepend and append some random bytes to the database
* create a bogus .LDB file (random data, read only)

Thanks for the points.  What protection method(s) did you choose?
senadAuthor Commented:
I tend to switch to absolute database as it is much more robust and
secure.Best DB I've come across so far...Right now I only use password protection and a user suggestion
to limit access by file permissions within XP.

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now