반응형
서론
PostgreSQL에서 개인정보를 sql에서 마스킹 처리를 하였는데 간단하게 정리하고자 한다.
* 소스는 as test 를 이용하여 확인
소스
-- 이름 : 한글 - 첫번째 3번째 문자 만 노출. 영문 - 앞 4자리만 노출.
select case when a.test ~ E'[ㄱ-ㅣ가-힣]'
then concat(left(a.test,1), '*',substring(a.test,3,1),repeat('*',length(a.test) -3))
else concat(left(a.test,4), repeat('*',length(a.test) -4))
end as test1
from (select '홍길동' as test) a; //홀*동
-- 휴대전화
select concat(split_part(regexp_replace(replace(a.test,'-',''),'(.{3})(.+)(.{4})','\1-\2-\3'),'-',1),'-',
repeat('*',length(split_part(regexp_replace(replace(a.test,'-',''),'(.{3})(.+)(.{4})','\1-\2-\3'),'-',2))),'-',
split_part(regexp_replace(replace(a.test,'-',''),'(.{3})(.+)(.{4})','\1-\2-\3'),'-',3)) as test1
from (select '01012345678' as test) a; //010-****-5678
결론
보안을 위해 sql에서 마스킹 처리를 적용하게 되었는데 자주 사용하지 않아서 잊어버린다. 이렇게 정리하며 추후에 사용되길..
반응형
'개발 > DB' 카테고리의 다른 글
[POSTGRESQL] UPSERT 정리 - 데이터 없으면 INSERT / 있으면 UPDATE (1) | 2024.01.22 |
---|---|
[PostgreSQL] oracle dual 같은 기능 사용하기 (0) | 2023.09.13 |
[MYSQL] maria(마리아) DB 설치 방법 (0) | 2022.07.31 |