2016-01-07 41 views
6

Come crittografare la colonna nel database postgres utilizzando pgcrypto addon?Codifica colonne postgres database

Sto usando Postgres 9.3 e ho bisogno di crittografare una delle mie colonne, Postgres supporta anche la crittografia Aes o con qualsiasi mezzo posso raggiungerlo?

risposta

7

Sì, Postgres pgcrypto il modulo supporta AES. Tutti i dettagli con esempi possono essere trovati here. Per quanto riguarda l'utilizzo del campione:

-- add extension 
CREATE EXTENSION pgcrypto; 

-- sample DDL 
CREATE TABLE test_encrypt(
    value TEXT 
); 
INSERT INTO test_encrypt VALUES ('testvalue'); 

-- encrypt value 
WITH encrypted_data AS (
    SELECT crypt('PasswordToEncrypt0',gen_salt('md5')) as hashed_value 
) 
UPDATE test_encrypt SET value = (SELECT hashed_value FROM encrypted_data); 

Validare Password:

SELECT (value = crypt('PasswordToEncrypt0', value)) AS match FROM test_encrypt; 

Ritorni:

match 
------- 
t 
(1 row) 
+3

Ciò significa che ho bisogno di fare cambiamenti nel mio codice dell'applicazione troppo, è possibile ottenere senza apportare modifiche a livello di applicazione. – Nitin

+0

@Nitin - beh, è ​​difficile dirti perché non ho visto l'implementazione dell'author. –