MariaDB에서는 여러가지 암호화 방법을 제공한다.
하지만 여기서 사용할 것은 비대칭 암호화 방법 SHA 256을 사용하려고한다.
그 이유는 대칭키를 이용한 암호화 방법을 사용 시 관리자가 암호화된 데이터를 복호화 하여 확인할 수 있기 때문이며 또한 암호화에 사용된 키가 유출될 경우 데이터가 전부 유출될 가능성이 있기 때문이다.
SHA2에 대한 설명이 잘 되어있는 글의 맨 하단 출처의 사이트에서 가져왔다.
테이블 생성 시 SHA256을 사용할 경우 항목에 대한 데이터 타입을 다음과 같이 설정하면 된다.
총 256비트를 사용하기 때문에
PW VARCHAR(255)
와 같이 데이터 타입을 설정해주면 된다.
한 블로그에서 BLOB타입을 사용하는 것을 권장한다고 하였으나 용량과 처리 속도에서 문제가 될 것같아서 그냥 VARCHAR(255)로 설정하기로 하였다.
- * 이 부분에 대한 자세한 지식은 부족하여 댓글을 달아주시면 정말 감사하겠습니다.
SHA2
sha2(string,hash_length)
-
-
SHA2 함수는 SHA-2 계열의 해시 함수들(SHA-224, SHA-256, SHA-384, and SHA-512)을 계산한다. 첫번째 인자는 해싱될 문자열이다. 두번째 인자는 기대하는 결과 비트의 길이를 나타내는데, 224, 256, 384, 512 또는 0(256과 동일) 중 하나여야 한다.
Parameters:
string -- 암호화할 대상 문자열 Return type:
STRING
인자 중 하나 이상이 NULL 이거나 허용된 해시 길이가 아니면 NULL을 반환한다. 정상 범위의 인자를 입력한 경우 원하는 비트 수를 포함하는 해시 값을 반환한다.
SELECT SHA2('cubrid', 256);
sha2('cubrid', 256)
======================
'D14DA17F2C492114F4A57D9F7BED908FD3A351B40CD59F0F79413687E4CA85A5'
SELECT SHA2('cubrid', 224);
sha2('cubrid', 224)
======================
'8E5E18B5B47646C31CCEA98A87B19CBEF084036716FBD13D723AC9B2'
출처 : https://www.cubrid.org/manual/ko/9.3.0/sql/function/encryption_fn.html
반응형
'DATABASE > Mariadb' 카테고리의 다른 글
[퍼옴/메모] MariaDB 시간관련 함수 (0) | 2018.06.28 |
---|---|
DB(MySQL,MariaDB)에 이모티콘 저장하기 (0) | 2018.06.27 |
MariaDB, MySQL Character-set 설정 (0) | 2018.03.21 |
MariaDB 테이블 생성 시 utf8과 AUTO_INCREMENT, InnoDB 엔진 설정 (0) | 2018.03.21 |
Java(Eclipse) 마리아디비(MariaDB) JDBC 연동 방법 (0) | 2018.01.12 |
[MySQL]계정 생성, 권한 부여 권한 삭제 등 (0) | 2018.01.09 |
MariaDB(MySQL) 제약조건(Constraints) 확인(조회) (1) | 2017.08.10 |
(4) MariaDB GUI 관리 Tool (프리웨어:Toad for MySQL) (3) | 2017.08.03 |