[MySQL] AES함수 암호화(AES_ENCRYPT), 복호화(AES_DECRYPT) 하기

 

- 암호화 : AES_ENCRYPT

INSERT INTO 테이블명 VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키')));

 

- 복호화 : AES_DECRYPT

SELECT AES_DECRYPT(UNHEX(필드명), '암호화 키') FROM 테이블명;

 

예시

 

1. 회원 등록 시 휴대폰번호 암호화

INSERT INTO TB_USER(USER_ID, USER_NM, USER_MPHON_NO)
VALUES ('hong123', '홍길동', HEX(AES_ENCRYPT('01012345678', 'abc123')));

 

2. 회원 조회 시 휴대폰번호 암호화

SELECT USER_ID
	, USER_NM
        , USER_MPHON_NO AS USER_MPHON_NO_AES_ENCRYPT
        , CAST(AES_DECRYPT(UNHEX(USER_MPHON_NO), 'abc123') AS CHAR) AS USER_MPHON_NO_AES_DECRYPT
FROM TB_USER

 

결과