http://sopie2000.tistory.com/m/10
※ Mysql에서 지원하는 데이터 암호화 기법
데이터 암호화 방법
|
단방향 암호화 |
- MD5, SHA1 같은 방법으로 암호화(Encrypt)후 원래대로 복호화(Decrypt)가 필요없는 경우 |
|
쌍방향 암호화 |
- DES, DES3, ENC, COMPRESS 같은 방법으로 암호화(Encrypt)후 |
- 암호화를 하면 데이터의 길이가 늘어나므로 데이터의 Length를 늘려주어야 한다. 실제 데이터의 Length가 암호화된 데이터에 길이보다 짧다면 짤려서 삽입된다.
MYSQL에서 지원하는 암호화 함수
|
단방향 암호화만 지원 |
- MD5, PASSWORD. SHA1, SHA |
|
쌍방향 암호화 (암호화,복호화) 지원 |
- AES_ENCRYPT ,AES_DECRYPT |
ex) 단방향 암호화중 PASSWORD 함수 테스트
암호화
INSERT INTO 테이블명 (필드명) VALUES (PASSWORD('암호화 할 내용'))
복호화를 할 수 없기 때문에 조회시에는 해당 데이터를 암호화하여 컬럼에 데이터값과 비교하며 검증할 수 있다.
ex) 쌍방향 암호화 중 AES_ENCRYPT, AES_DECRYRT 함수를 통한 암호화, 복호화 테스트
삽입할 때에는 암호화된 바이너리 데이터를 HEX로 변환시켜 넣고, 가져올 때는 HEX를 풀고 복호화함.
암호화
INSERT INTO 테이블명 (필드명) VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키')));
복호화
SELECT AES_DECRYPT(UNHEX(필드명), '암호화 키') FROM 테이블명;
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 4 | 회원가입 & 비밀번호 암호화 | proin | 2018.09.19 | 1 |
| » | Mysql에서 지원하는 데이터 암호화 기법 | proin | 2018.09.19 | 0 |
| 2 | Mysql DB 복호화 (password(), md5(), crypt()) | proin | 2018.09.19 | 0 |
| 1 | 드라마 유령에서 사용된 해킹툴, 해킹 기법, 포렌식 툴등 (20/20) | proin | 2018.09.18 | 1 |