Tabelle verschlüsseln mit pgcrypto encrypt

Fragen und Probleme rund um die Abfragespache SQL.
Antworten
thori
Neuer Benutzer
Beiträge: 2
Registriert: Fr 6. Okt 2017, 16:46

Tabelle verschlüsseln mit pgcrypto encrypt

Beitrag von thori » Fr 6. Okt 2017, 17:23

Hallo,

Ich möchte eine vorhandene Tabelle in eine neue Tabelle übertragen und verschlüsseln. In etwa so:

create table test(i text);
insert into test values('3');
insert into test values('7');
insert into test values('8');

create table crypto(i bytea);

insert into crypto select pgp_sym_encrypt(i, 'key') from test;

select pgp_sym_decrypt(i,'key') from crypto where pgp_sym_decrypt(i,'key')='7';

Das funktioniert zwar dauert aber mit der zu verschlüsselnden Tabelle bei der Abfrage mit entschlüsseln über 1 Minute und viel zu lang.
Mir wurde gesagt, dass die einfache encrypt und decrypt funktionen schneller sein müssten. Ist das so?

Mein Problem ist zudem, dass insert into crypto select encrypt(i,'key','aes') from test; nicht funktioniert sondern nur einzelne Werte wie insert into crypto select encrypt('7','key','aes') ist es mit der Methode überhaupt möglich oder gibt es eine andere schnellere Methode?

Thomas

thori
Neuer Benutzer
Beiträge: 2
Registriert: Fr 6. Okt 2017, 16:46

Re: Tabelle verschlüsseln mit pgcrypto encrypt

Beitrag von thori » Mo 9. Okt 2017, 08:59

Ok ich bin selbst auf die doch recht einfache Lösung gekommen. Die Funktionen encrypt und decrypt sind viel schneller und ich musste natürlich einfach nur den text in bytea casten. Also insert into crypto select encrypt(i::bytea,'key','aes') from test;

Thomas

Antworten