Databases/MySQL

데이터 암호화 기법

moonwoou 2015. 4. 2. 09:29

+ 암호화 방법

단방향 - 복호화(Decrypt) 불가, 비밀번호 등에 사용

쌍방향 - 암호화(Encrypt)와 복호화(Decrypt)가능, 이름, 아이디, 전화번호 등에 사용


+ MySQL 지원 함수

단방향 - MD5, PASSWORD, SHA1, SHA

쌍방향 - AES_ENCRYPT, AES_DECRYPT, DES_ENCRYPT, DES_DECRYPT, 

          DECODE, ENCODE, COMPRESS, UNCOMPRESS


+ 사용 예

단방향

 - 암호화

   INSERT INTO TABLE_NAME (FIELD_NAME) 

         VALUES (PASSWORD('암호화 내용'));

쌍방향

 - 암호화

   INSERT INTO TABLE_NAME (FIELD_NAME) 

         VALUES (HEX(AES_ENCRYPT('암호화 내용','암호화 키')));

 - 복호화

   SELECT AES_DECRYPT(UNHEX(FILED_NAME), '암호화 키') FROM TABLE_NAME;