Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I have done this where a vertical-market customer wanted to use my ClipMate program to store and distribute medical-related data, and didn't want the data to escape "into the wild".<br> I leveraged the encryption capability of the database (DBISAM by Elevatesoft, which has an engine that compiles directly into Delphi programs) and the "hardware locking" capability of my protection wrapper, Armadillo.<br> So when someone purchases the program from the vertical market customer, they get the app (download or CD) and install it. Upon installation, they are presented with a registration dialog that shows their "hardware fingerprint" (as reported by Armadillo). This is derived from their ethernet address, CPU serial, hard drive serial, etc., and I could be wrong on any of those, but that's the general idea. They call it in, and a key is generated that's unique to that end-user/machine combo. The registration key "unlocks" the database, which is encrypted, and the encryption key is part of the registration code. The end-user cannot make any use of the data without the key, and they cannot give away or transfer the data without receiving another unlock code. It's pretty tight. Would be too annoying for a low-priced app, but they're charging a lot for it, so it's worth it. </p> <p>Anyway, to recap: The database is encrypted, and the encryption code is only accessible (to the program that reads the database) when the program is properly registered to a specific user/computer. </p> <p>You COULD do this with Access, MySQL, etc.. Just encrypt the data, either at the database level (I suppose they support this, no?) or at the field level, if you want ultimate control and are ok with using a custom front-end app to read the thing.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload