Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread table encryption
Wed, Mar 14 2018 11:52 AMPermanent Link

Paul Waegemans

IMS bvba

Avatar

I have a remote database already in use with 50 tables.

Due to the General Data Protection Regulations in Belgium (Europe) I want to have all the tables encrypted on disk.

1° Any suggestion what is the fastest way to do this.
2° Is it OK if every table has the same encryption pasword
3° How to enter the pasword when opening a table or making sql on a table at runtime?

Paul Waegemans
Thu, Mar 15 2018 5:01 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Paul

>1° Any suggestion what is the fastest way to do this.

If its a one off I'd use DBSys

>2° Is it OK if every table has the same encryption pasword

Technically there's no reason why not - depending on the actual content you may not be required to encrypt some of the tables.

>3° How to enter the pasword when opening a table or making sql on a table at runtime?

Whilst I never used encryption in DBISAM (I did in ElevateDB) the manual (my old 4.25 version) says

Opening Encrypted Tables
When a table is marked as encrypted and given a password, its contents are then encrypted using this password
and any subsequent attempts to open the table only succeed if this password (in this order):
Using DBISAM
1) Is present in the in-memory list of passwords for the current TDBISAMSession component. You can use the
AddPassword, RemovePassword, and RemoveAllPasswords methods to add and remove passwords for the
current session.
2) Is provided on-demand through the OnPassword event of the current session.
3) Is provided on-demand through a visual password dialog that will be displayed if the OnPassword event is not
assigned an event handler.

so something like

procedure TForm1.FormCreate(Sender: TObject);
begin
DBISAMSession1.AddPassword('fred');
end;

should work.

More importantly, if you're actually bothered about encrypting the data is how to "hide" the password rather than have it showing in plain text in your application.


Roy
Thu, Mar 15 2018 2:50 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Paul,

<< I have a remote database already in use with 50 tables.

Due to the General Data Protection Regulations in Belgium (Europe) I want to have all the tables encrypted on disk.

1° Any suggestion what is the fastest way to do this.
2° Is it OK if every table has the same encryption pasword
3° How to enter the pasword when opening a table or making sql on a table at runtime? >>

This is the section of the manual that you want:

https://www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=rsdelphiwin32&version=10T&topic=Opening_Tables

You'll need to alter the tables to encrypt them.   But, as Roy indicates, the GDPR doesn't dictate that you do this with *all* tables, just tables with PII in them.

Tim Young
Elevate Software
www.elevatesoft.com
Image