728x90

1.DB2 UDB V7.2에서 새로 추가된 기능 중 하나로써, 특정 칼럼의 Data를 Encrypt/Decrypt 할 수 있습니다..


2.함수 설명

1. SET ENCRYPTION password : 향후 나오는 encrypt/decrypt 명령에서 사용될 password를 지정하는 명령문

2. ENCRYPT : 데이터의 encryption

3. DECRYPT_CHAR : encryption된 data를 VARCHAR 타입으로 decryption

4. DECRYPT_BIN : encryption된 data를 VARCHAR FOR BIT DATA타입으로 decryption

5. GETHINT : encryption된 data의 password에 대한 hint를 리턴.


3.제한사항

    encryption 칼럼 : CHAR FOR BIT DATA / VARCHAR FOR BIT DATA

 컬럼 길이 산정은 힌트가 없는 경우에는 16byte를 추가하고 힌트가 있을 경우에는 48byte를 추가합니다..

예) 일반적으로 주민번호컬럼이 char(13)으로 잡히지만..

     힌트가 없는 암호화 컬럼이라면 char(29)로 13byte에 16byte를 추가하여 타입을 정합니다..


4.기능구현

① 테이블 생성

주민번호(jumin_no)를 암호화 컬럼으로 한다면..

create table emp (

empno char(6) not null,

empname char(10) not null with default,

jumin_no char(29) for bit data not null with default);

② 데이터 삽입

insert into emp values

('000001','Nicole',encrypt('1234561234567','xxxx'));

==>위 insert문에서 xxxx는 주민번호를 암호화 할 패스워드를 의미합니다..

③ 데이터 조회

DECRYPT함수 사용하지 않고 조회 할 경우 HEX코드로 표시됩니다..

select jumin_no from emp

JUMIN_NO

---------------------------------------

x'00F808FF03CAD5AD11C27469109702B3'

그러므로

조회시에는 DECRYPT()함수를 사용해야만 데이터를 확인하실수 있습니다..

select decrypt_char(JUMIN_NO,'xxxx') from emp

JUMIN_NO

---------------------------------------

1234561234567


암호의 유효한 길이는 6 - 127입니다. 힌트의 유효한 길이는 0 - 32입니다.


http://database.sarang.net/?inc=read&aid=699&criteria=db2&subcrit=&id=&limit=20&keyword=decrypt&page=1

728x90

'Db2 > Db2 reference' 카테고리의 다른 글

db2 접속환경설정  (0) 2011.03.13
db2 접속 및 종료  (0) 2011.03.13
Monitoring Script  (0) 2010.07.27
DB2 9의 메모리 모니터링과 튜닝  (0) 2010.07.13
db2diag.log 분할하기  (0) 2010.01.21

+ Recent posts