확장기능 설치. database 하위의 extension에 pgcrypto가 추가되며
사용가능한 함수들은 public에 function 에 추가된다.
CREATE EXTENSION pgcrypto; |
binary 값으로 나오기 때문에 encode와 decode를 이용해서 출력하도록 하는 것으로 보임
-- 암호화 select encode(encrypt(convert_to('홍길동','utf8'),'ENC_KEY','aes'),'hex'); -- 복호화 select convert_from(decrypt(decode('encrypted_value','hex'),'ENC_KEY','aes'),'utf8'); -- 암호화 된 것을 검색하기 select mem_id, convert_from(decrypt(decode(mem_name,'hex'),'ENC_KEY','aes'),'utf8') from tb_test; |
[링크 : https://jully215.tistory.com/104]
문제는... 암호화하려면 해당 컬럼이 bytea 형식이 되어야 하는 듯?
regress=# create table demo(pw bytea); CREATE TABLE regress=# insert into demo(pw) values ( encrypt( 'data', 'key', 'aes') ); INSERT 0 1 regress=# select decrypt(pw, 'key', 'aes') FROM demo; decrypt ------------ \x64617461 (1 row) regress=# select convert_from(decrypt(pw, 'key', 'aes'), 'utf-8') FROM demo; convert_from -------------- data (1 row) |
[링크 : https://dba.stackexchange.com/questions/24370/how-to-use-aes-encryption-in-postgresql]
'프로그램 사용 > postgreSQL' 카테고리의 다른 글
array_agg에서 NULL 없애기 array_remove() (0) | 2019.11.06 |
---|---|
drop extension (0) | 2019.11.01 |
postgresql 쿼리 수행속도 벤치마크 하기 (0) | 2019.10.30 |
postgresql ctid (0) | 2019.10.29 |
coalesce() / isnull() (0) | 2019.10.29 |