SHOW GLOBAL VARIABLES LIKE 'LOG_BIN_TRUST_FUNCTION_CREATORS';
SELECT HEX(AES_ENCRYPT('123a', SHA2('abc', 256)));
SELECT AES_DECRYPT(UNHEX('39C84BB9AC55552617E29127B79A9669'), SHA2('abc', 256));
CREATE FUNCTION FN_ENCRYPT(encVal varchar(1000)) returns varchar(1000)
FF1102A810395DDD5FC5E7C3FE6CA057
INSERT INTO user (userID, userPassword) VALUES('왜안돼', HEX(AES_ENCRYPT('password', SHA2('abc', 512))));
SELECT userID, AES_DECRYPT(UNHEX(userPassword), SHA2('abc',512)) from user where userID = '왜안돼';
INSERT INTO user (userID, userPassword) VALUES('1229', FN_ENCRYPT('passwd'));
SELECT userID, FN_DECRYPT(userPassword) from user where userID = '1229';
/* 암호화 펑션 생성 스크립트 */
CREATE FUNCTION FN_ENCRYPT(encVal varchar(1000)) returns varchar(1000)
BEGIN
DECLARE returnVal varchar(1000);
SET returnVal = '';
SELECT
HEX(AES_ENCRYPT(encVal,SHA2('123a',256)))
INTO returnVal;
RETURN returnVal;
END;
/* 복호화 펑션 */
CREATE FUNCTION FN_DECRYPT(decVal varchar(1000)) returns varchar(1000)
BEGIN
DECLARE returnVal VARCHAR(1000);
SET returnVal = '';
SELECT
CAST(AES_DECRYPT(UNHEX(decVal),SHA2('a1s2d3f4g5h6j7k8l9!',512)) AS CHAR)
INTO returnVal FROM DUAL;
RETURN returnVal;
END;
SELECT HEX(AES_ENCRYPT(123,'testkey123')) AS '암호화';
SELECT @@global.sql_mode;
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';
'DB' 카테고리의 다른 글
[AWS] mobaxterm 사용, 포트포워딩, nodejs 세팅 (0) | 2023.03.14 |
---|---|
[리눅스] sudo chmod * 777 (0) | 2023.01.06 |
[우분투] 명령어 정리 (0) | 2023.01.05 |
[리눅스] mariadb, apache, php 설치(우분투 22.04) (0) | 2023.01.05 |
[mysql] 특정 프로시저 생성/수정/실행 권한 부여 (0) | 2023.01.04 |