데이터베이스(DB)/MariaDB

MariaDB - 암호화, 복호화

개발계발게발 2021. 9. 1. 18:55
반응형

MariaDB - 암호화, 복호화

 

AES 대칭키 알고리즘의 암호화 기능

단방향과 달리 양방향은 평문을 암호문으로 바꾼 후() 다시 암호문을 암호화 키를 이용해 평문으로 바꿀 수 있다.



암호화와 복호화 같은 키 사용 = 대칭키(비공개키) 알고리즘

암호화와 복호화 다른 키 사용 = 비대칭키(공개키) 알고리즘

 

양방향 암호화 문법

 

EX) '01234567'이라는 비밀번호를 'abc'라는 키값으로 암호화 (키값은 대소문자 구분하여 사용)

HEX(AES_ENCRYPT('평문 암호', '암호화 키 값'))

SELECT HEX(AES_ENCRYPT('01234567','abc')) AS 암호화 FROM DUAL;

실제 DB 테이블 삽입시에는 INSERT 구문 사용

 

결과

 

복호화 문법

 

AES_DECRYPT(UNHEX('암호화문'),'암호화 키 값')

SELECT AES_DECRYPT(UNHEX('86CFAEEAE75AE024D668A272450416C1'),'abc') FROM DUAL;

 

결과

 

양방향 암호화 키를 SHA2 512 단방향 해쉬함수로 암호화하는 방법

 

ex) '01234567'이라는 암호를 'knowhoon'이라는 암호화키로 암호화(암호화키를 SHA2 512 를 이용해 암호화)

HEX(AES_ENCRYPT('평문 암호', SH2('암호화키',512)))

SELECT HEX(AES_ENCRYPT('01234567',SHA2('abc',512))) FROM DUAL;

실제 DB 테이블 삽입시에는 INSERT 구문 사용(추후 'abc' 값을 salt 값으로 임의 생성하여 암호화)

 

 

결과

 

복호화 문법

AES_DECRYPT(UNHEX('암호화문'), SHA2('암호화키',512))

SELECT AES_DECRYPT(UNHEX('C141FBD7502CA0FB59360E4E0071D1D9'), SHA2('abc',512)) AS 복호화 FROM DUAL

 

결과

 

반응형