암/복호화시 사용하는 key를 노출하지 않기 위해 함수 작성
1. 암호화 함수
DELIMITER $$
create function cs.get_encrypt(rawtxt text) returns text
modifies sql data
deterministic
sql security definer
begin
declare key_string varchar(256);
declare in_text text;
declare out_text text;
set key_string = sha2('thisiskey',256);
set in_text = rawtxt;
set out_text = '';
select hex(aes_encrypt(in_text, key_string)) into out_text ;
return out_text;
end;
$$
DELIMITER ;
2. 복호화 함수
DELIMITER $$
create function cs.get_decrypt(rawtxt text) returns text
modifies sql data
deterministic
sql security definer
begin
declare key_string varchar(256);
declare in_text text;
declare out_text text;
set key_string = sha2('thisiskey',256);
set in_text = rawtxt;
set out_text = '';
select aes_decrypt(unhex(in_text), key_string) into out_text ;
return out_text;
end;
$$
DELIMITER ;
3. 권한 부여
grant execute on function get_decrypt to test;
'RDB > MySQL' 카테고리의 다른 글
mariabackup script (0) | 2019.04.22 |
---|---|
custom 암/복호화 procedure (0) | 2019.04.19 |
mariadb 데이터 암/복호화 (0) | 2019.04.08 |
mariabackup 사용 (0) | 2019.04.08 |
mariadb data-at-rest (tde) 구성 (2) | 2019.04.02 |