password protect an msaccess database

Posted on 2005-03-23
Medium Priority
Last Modified: 2010-04-04
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??
Question by:senad
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
LVL 46

Expert Comment

ID: 13618328
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.  
LVL 22

Author Comment

ID: 13618366
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.
LVL 46

Accepted Solution

aikimark earned 500 total points
ID: 13619204
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.
Technology Partners: 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!

LVL 11

Expert Comment

ID: 13619505
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.
LVL 46

Expert Comment

ID: 13621341
* prepend and append some random bytes to the database
* create a bogus .LDB file (random data, read only)
LVL 46

Expert Comment

ID: 13661683

Thanks for the points.  What protection method(s) did you choose?
LVL 22

Author Comment

ID: 13665441
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question