상세 컨텐츠

본문 제목

[MySQL] 데이터 암호화, 복호화

Developer/MySQL

by 웰크 2017. 7. 10. 17:29

본문

[MySQL] 데이터 암호화, 복호화


사용자의 정보를 저장할때 개인정보를 암호화 하지 않는다면

해킹 및 관련법(?)에 의해 문제가 생길 수 있다.


완벽한 암호화!! 라고 하기에는 문제가 좀 있지만

그래도 흔히~ 많이쓰이는 암호화와 복호화 방법에 대해서 알아보자!



우선 암호화~!!

기본적으로 아래와 같은 문법을 가지고 사용을 한다.


1
2
3
4
ASC_ENCRYPT(str, key);
 
str : 암호화시킬 문자열
key : 키 문자열
cs



그럼 사용하는 방법을 알아보자!

아래와 같이 원하는 문자열을 넣고 그 다음에 암호화 시킬 키를 입력한다.

암호화 시킬 키를 가지고 복호화도 진행해야 하니 알기쉬운 키가 좋다.


1
2
Insert Into Test( userId, userPhone )
Values ( 'aaa', HEX(AES_ENCRYPT('01000000000''anykey')) );
cs






다음으로 복호화~!!

열심히 암호화를 했는데.. 그 데이터를 다시 보지 못한다면 큰일이다

암호화 한 데이터를 볼 수있는 방법! 바로~ 알아보자


우선 복호화의 문법은 아래와 같다

암호화와 동일한 형식이니 어렵지는 않다


1
2
3
4
AES_DECRYPT(str,key)
 
str : 암호화 된 문자열
key : 키 
cs



그럼 사용방법!

역시 암호화와 비슷하다~

저 뒤에 넣은 key값은 암호화 할때 넣어줬던걸 넣어주면 된다.


1
2
Select userId, AES_DECRYPT(UNHEX(userPhone), 'anykey')
From Test
cs



알면 간단한 암호화, 복호화!

다소 귀찮은 면도 있지만 꼭 사용해보자~

'Developer > MySQL' 카테고리의 다른 글

[MySQL] 인덱스 생성, 조회, 삭제  (0) 2017.05.19
[MySQL] Select에서 랜덤 값 가져오기  (0) 2017.05.15
[MySQL] 데이터 형식  (0) 2017.05.15
[MySQL] 테이블 초기화시키기  (0) 2017.05.14

관련글 더보기